Oracle常用日期数据格式

/*一、常用日期数据格式*/
/*1. 获取年的最后一位, 两位, 三位, 四位*/
select to_char(sysdate,'Y') from dual;
select to_char(sysdate,'YY') from dual;
select to_char(sysdate,'YYY') from dual; 
select to_char(sysdate,'YYYY') from dual; 
/*2. 获取当前季度*/
select to_char(sysdate,'Q') from dual;
/*3. 获取月份数*/
select to_char(sysdate,'MM') from dual;
/*4. 获取月份的罗马表示*/
select to_char(sysdate,'RM') from dual
/*5. 获取用9个字符长度表示的月份名*/
select to_char(sysdate,'Month') from dual;
/*6. 获取当年第几周*/
select to_char(sysdate,'WW') from dual;
/*7. 获取本月第几周*/
select to_char(sysdate,'W') from dual;
/*8. 获取当年第几天*/
select to_char(sysdate,'DDD') from dual;
/*9. 获取当月第几天*/
select to_char(sysdate,'DD') from dual;
/*10. 获取一周第几天*/
select to_char(sysdate,'D') from dual;
/*11. 获取中文的星期*/
select to_char(sysdate,'DY') from dual;
/*12. 获取12进制小时数*/
select to_char(sysdate,'HH') from dual;
/*13. 获取24进制小时数*/
select to_char(sysdate,'HH24') from dual;
/*14. trunc(d, [ ? ])*/
select sysdate S1, /*返回当前日期,有时分秒*/
       trunc(sysdate) S2, /*返回当前日期,无时分秒*/
       trunc(sysdate, 'year') YEAR, /*返回当前年的1月1日,无时分秒*/
       trunc(sysdate, 'month') MONTH, /*返回当前月的1日,无时分秒*/
       trunc(sysdate, 'day') DAY, /*返回当前星期的星期天,无时分秒*/
       trunc(sysdate, 'Q') QUARTER, /*返回当前季度的1日,无时分秒*/
       trunc(sysdate, 'D') WEEK /*返回当前星期的星期天,无时分秒*/
  from dual;
/*15.round(d, [?]) 舍入到最接近的日期*/
select sysdate S1,
       round(sysdate) S2,
       round(sysdate, 'year') YEAR, -- 舍入到最接近的年 2014/1/1
       round(sysdate, 'month') MONTH, -- 舍入到最接近的月 2014/6/1
       round(sysdate, 'day') DAY -- 舍入到最接近的星期日 2014/5/18
  from dual;
/*16. last_day(d) 获取包含d的月最后一天的日期*/
select last_day(sysdate) from dual;
/*17. add_months(d, n) 日期d往后推n个月*/
select add_months(sysdate,2) from dual;
/*18. next_day(d, day)*/
select next_day(sysdate,2) from dual;
/*19. months_between(f,s) 日期f和s间相差月数*/
select months_between(sysdate,to_date('2020-12-03','yyyy-mm-dd'))from dual;
/*20. 获取两个日期间的天数*/
select floor(sysdate - to_date('20201205','yyyymmdd')) from dual;
/*21. 获取上个月最后一天*/
select to_char(add_months(last_day(sysdate),-1), 'yyyy-MM-dd') lastDay  from dual;
/*22. 获取上个月的今天*/
select to_char(add_months(sysdate, -1), 'yyyy-MM-dd') preToday from dual;
/*23. 获取上个月的第一天*/
select to_char(add_months(last_day(sysdate) + 1, -2), 'yyyy-MM-dd') firstDay  from dual;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aries·Zhao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值