日期处理方法
- 当前日期和时间
Select sysdate from dual;
- 本月最后一天
Select last_day(sysdate) from dual;
- 当前日期d后推n个月
Add_months(d,n)
Select add_months(sysdate,2) from dual;
- 日期f和s间相差月数
Months_between(f,s)
select months_between(sysdate,to_date('1992-08-25','yyyy-mm-dd'))from dual;
- 特定日期之后的一周内的日期
NEXT_DAY(d, day_of_week)
SELECT next_day(to_date('20140404','YYYYMMDD'),1) FROM dual;
- 当前会话时区中的当前日期
select sessiontimezone,current_date from dual;
- 时区
select dbtimezone from dual;
找出日期或间隔值的字段值
select extract(month from sysdate) "This Month" from dual;
会话中的日期和时间
select localtimestamp from dual;
日期数据格式
Select to_char(sysdate,'YYY') from dual;
Y或YY或YYY 年的最后一位,两位或三位。
002表示2002年SYEAR或YEAR SYEAR使公元前的年份前加一负号 。
Select to_char(sysdate,'SYEAR') from dual;
Select to_char(sysdate,'Q') from dual;
Q 季度,1~3月为第一季度。
2表示第二季度,因为现在4月。
Select to_char(sysdate,'RM') from dual;
12表示12月RM 月份的罗马表示 。
IV表示4月Month 。
Select to_char(sysdate,'WW') from dual;
WW 当年第几周 。
14表示2014年4月3日为第14周。
Select to_char(sysdate,'W') from dual;
W 本月第几周。
2014年4月3日为第1周。
Select to_char(sysdate,'DDD') from dual;
DDD 当年第几天, 1月1日为001,2月1日为032 。
Select to_char(sysdate,'DD') from dual;
DD 当月第几天。
Select to_char(sysdate,'D') from dual;
D 周内第几天。
Select to_char(sysdate,'HH') from dual;
HH或HH12 12进制小时数
Select to_char(sysdate,'HH24') from dual;
HH24 24小时制。