我有以下设置,其中包括分区。我可以使用一个查询来提供表中每个分区的计数吗?
我不喜欢通过收集统计数据而不是实际计数(*)来进行可能的估计。请注意,分区名称可以重命名!
下面是我的测试用例。感谢所有回答的人。
ALTER SESSION SET NLS_DATE_FORMAT = 'MMDDYYYY HH24:MI:SS';
CREATE TABLE dts (
dt DATE
)
PARTITION BY RANGE (dt)
INTERVAL (NUMTODSINTERVAL(7,'DAY'))
(
PARTITION OLD_DATA values LESS THAN (TO_DATE('2022-01-01','YYYY-MM-DD'))
);
INSERT into dts(dt)
select to_date (
'01-08-2022','mm-dd-yyyy' ) +
( level / 24 ) dt
from dual
connect by level <= ( 24 + ( 24 *
(to_date('01-15-2022' ,'mm-dd-yyyy') - to_date('01-08-2022','mm-dd-yyyy') )
)
) ;
SELECT table_name,
partition_name,
num_rows
FROM user_tab_partitions
WHERE table_name not like 'BIN$%'
ORDER BY table_name, …Run Code Online (Sandbox Code Playgroud) 有没有办法在日期列上创建一个 CONSTRAINT 来检查秒数是否是 0 以外的值
我只想允许这种格式的值 MMDDYYYY HH24:MI
我知道如果小时、分钟或秒是零以外的值,则以下内容将被视为违规。
约束 dt_chk 检查 (dt=trunc(dt,'dd'))