ORACLE-常用日期處理函數
1.对日期进行格式化
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
ddd:当前日期是当年的第几天;day:当前日期是星期几
dy:当前日期是星期几的缩写;Q:当前日期是第几个季度
WW:当前是一年内的第几周;W:当前是一月内的第几周;
select to_char(sysdate,'ddd-day-dy-Q-WW-W') from dual;
3.英文显示日期
select to_char (sysdate, 'yy-mm-dd-day-dy', 'NLS_DATE_LANGUAGE = American') from dual;——20-10-21-monday -mon
4.时间戳计算时间差(精确到毫秒)
EXTRACT(DAY FROM T.ENDTIME - T.STARTTIME) * 24 * 60 * 60 + EXTRACT(HOUR FROM T.ENDTIME - T.STARTTIME) * 60 * 60 + EXTRACT(MINUTE FROM T.ENDTIME - T.STARTTIME) * 60 + EXTRACT(SECOND FROM T.ENDTIME - T.STARTTIME)
5.计算本年度有多少天
select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual
6.计算二月份最后一天是29还是28
select to_char(last_day(to_date('02','mm')),'yyyy-mm-dd') from dual;
7.获取当前日期后N天的日期
select next_day(sysdate,7) from dual;
8.当月最后一天
select last_day(add_months(trunc(sysdate),-1)) from dual;
9.上个月月份
select to_char(add_months(trunc(sysdate),-1),'yyyy-mm') from dual;