1.trunc 函數 截斷函數既可以截取日期 也可以截取數字 返回今天的日期 select trunc(sysdate) from dual; --07-6月 -20 返回當月第一天 select trunc(sysdate,'mm') from dual; --01-6月 -20 返回當年第一天 ...
1.trunc 函數
截斷函數既可以截取日期 也可以截取數字
返回今天的日期 select trunc(sysdate) from dual; --07-6月 -20
返回當月第一天 select trunc(sysdate,'mm') from dual; --01-6月 -20
返回當年第一天 三種寫法 select trunc(sysdate,'yy') from dual; --01-1月 -20 select trunc(sysdate,'yyyy') from dual;select trunc(sysdate,'year') from dual;
2.extract函數
表達式 extract(fileld from source)
extract函數從日期/時間數值里抽取子域,比如年、小時等。
source必須是一個timestamp, time, interval類型的值表達式(類型為date的表達式轉換為 timestamp,因此也可以用)。
field 是一個標識符或者字元串,它指定從源數據中抽取的域。
extract 函數返回類型為double precision的數值。
提取年份
SELECT EXTRACT(YEAR FROM TIMESTAMP '2020-06-07 20:38:40');
Result: 2020
提取月份
<!-- 對於timestamp值,它是一年裡的月份數(1-12);對於interval值, 它是月的數目,然後對 12 取模(0-11) -->
SELECT EXTRACT(MONTH FROM TIMESTAMP '2020-02-16 20:38:40');
Result: 2
SELECT EXTRACT(MONTH FROM INTERVAL '2 years 3 months');
Result: 3
SELECT EXTRACT(MONTH FROM INTERVAL '2 years 13 months');
Result: 1
提取日期
<!-- 對於timestamp值,(月份)里的日期(1-31);對於interval,天數 -->
SELECT EXTRACT(DAY FROM TIMESTAMP '2020-06-07 20:38:40');
Result: 07
SELECT EXTRACT(DAY FROM INTERVAL '40 days 1 minute');
Result: 40