1,系统日期和时间:
select sysdate value from dual;返回值:2017/11/14 15:19:45;
系统日期:
select trunc(sysdate) value from dual;返回值:2017/11/14;
系统时间:
select to_char(sysdate,'hh24:mm:ss') value from dual;返回值:15:11:55
2,计算时间差(比如秒):
SELECT (d1-d2)*24*60*60 vaule FROM DUAL;返回值:精确到秒的时间差数值;
3,计算新的日期(比如分钟)
SELECT sysdate+8/60/24 vaule FROM DUAL;返回值:当前时间加8分钟;
4,日期加减月份,正数为加,负数为减:
Select add_months(sysdate,2) from dual;返回值:2018/1/14 16:00:34;
5,返回两日期之间的月数:MONTHS_BETWEEN(date1,date2);
select months_between(sysdate,to_date('2016-11-12','yyyy-mm-dd'))from dual;返回值:12.0861114844683;
6,返回指定日期当月的最后一天:
Select last_day(sysdate) from dual; 返回值:2017/11/30 15:59:06;
7,常用日期数据格式
(1)Y或YY或YYY 年的最后一位,两位或三位
Select to_char(sysdate,’YYY’) from dual; 017表示2017年
(2)Q 季度,1~3月为第一季度
Select to_char(sysdate,’Q’) from dual; 4表示第四季度
(3)MM 月份数 Select to_char(sysdate,’MM’) from dual; 11表示11月
(4)Month 用9个字符长度表示的月份名
Select to_char(sysdate,’Month’) from dual; 11月
(4)DD 当月第几天
Select to_char(sysdate,’DD’) from dual;11表示11日
(5)D 周内第几天
Select to_char(sysdate,’D’) from dual;3表示本周第三天,星期二
(6)HH或HH12 12进制小时数
Select to_char(sysdate,’HH’) from dual;
(7)HH24 24小时制
Select to_char(sysdate,’HH24’) from dual;
(8)MI 分钟数(0~59)
Select to_char(sysdate,’MI’) from dual;
(9)SS 秒数(0~59)
Select to_char(sysdate,’SS’) from dual;
8,上月最后一天:
select to_char(add_months(last_day(sysdate),-1),'yyyyMMdd') LastDay from dual;
上月当天:
select to_char(add_months(sysdate,-1),'yyyy-MM-dd') PreToday from dual;
上月第一天:
select to_char(add_months(last_day(sysdate)+1,-2),'yyyy-MM-dd') firstDay from dual;
9,select trunc(sysdate),trunc(sysdate,'HH24'),trunc(sysdate,'MI') from dual;结果:2017/11/16, 2017/11/16 10:00:00, 2017/11/16 10:21:00;