一、interval函數--將數值按標准換算為日期 1. select interval '1234' year(5) from dual;--注意year時默認精度為2 +01234-00 --1234年不足的位數用0補上 select interval '123' month from dual;--這里為啥用默認值2可以呢?因為輸出是xx年xx月,如果年份的值為個位數使用month(1)都可以 +10-03 --10年3個月 注意: 天數比較特殊 select interval '123' day(3) from dual; +123 00:00:00 --這里因為每個月天數不同,每年天數也不盡相同,所以天數就不會自動轉換了 2.numtodsinterval、numtodsinterval函數 select numtoyminterval(123, 'year'), --numtodsinterval只轉換year,month numtoyminterval(123, 'month'), numtodsinterval(123, 'day'),--numtodsinterval只轉換day,hour,moinut,second numtodsinterval(123, 'hour'), numtodsinterval(123, 'minute'), numtodsinterval(123, 'second') from dual; +000000123-00 +000000010-03 +000000123 00:00:00.000000000 +000000005 03:00:00.000000000 +000000000 02:03:00.000000000 +000000000 00:02:03.000000000 二、interval分區--設置自動分區 以scott的emp數據為參考 create table emp1 ( EMPNO NUMBER(4) not null, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2) ) partition by range(sal) interval (1000) store in (users, system) ( partition sp1 values less than (1500), partition sp2 values less than (3000), partition sp3 values less than (5000) ); emp表中數據有sal=5000的值 查看表分區情況 select table_name, partition_name, high_value from user_tab_partitions where table_name='EMP1'; TABLE_NAME PARTITION_NAME HIGH_VALUE EPM1 SP1 1500 EPM1 SP1 3000 EPM1 SP1 5000 EPM1 SYS_P21 6000 最后一條是自動新增的分區名為SYS_P21,最大值為6000.