总结了几点常用的关于日期时间相关的一些函数的用法,有时候可以很方便的帮你解决些棘手问题
1. 查询当前日期
代码语言:javascript复制select TRUNC(SYSDATE) from dual;
2. 查询前一天或N天
代码语言:javascript复制select TRUNC(SYSDATE - 1) from dual;
select TRUNC(SYSDATE - n) from dual;
3. 查询本周周一
代码语言:javascript复制SELECT trunc(sysdate,'iw') FROM dual;
SELECT trunc(sysdate,'w') FROM dual;
4. 查询当前日期是当年第几天
代码语言:javascript复制select to_char(sysdate,'ddd') from dual;
5. 查询本年年初
代码语言:javascript复制select trunc(sysdate,'yyyy') from dual;
select trunc(sysdate,'year') from dual;
6. 查询本周是当年的第几周
代码语言:javascript复制select to_char(sysdate,'iw') from dual;
7. 查询几年前日期
代码语言:javascript复制select to_char(trunc((sysdate - interval '3' year ),'year'),'yyyy-mm-dd') from dual; --3年前1月1日
select trunc((sysdate - interval '3' year ),'yyyy') from dual; --3年前1月1日
SELECT add_months(SYSDATE, -3) FROM dual; --3月前的今天
select ADD_MONTHS(trunc(sysdate,'yyyy') ,-12) from dual ; --去年第一天
select ADD_MONTHS(sysdate,-12) from dual; --去年的今天
8.关于w、ww、iw的用法和区别:
ww:按每年的1月1日为第一周第一天,1月8日为第二周第一天 w:与ww功能类似,不过它是按每月的1日为每周第一天,例如1日为当月第一周第一天,8日为第二周第一天 iw:自然周,为星期一至星期日算一周,且每年的第一个星期一为第一周
代码语言:javascript复制select to_char(sysdate,‘ww’) from dual; – 查询今年第几周,每天第一天为第一周第一天
select to_char(sysdate,‘iw’) from dual; – 查询今年第几周,自然周
select to_char(sysdate,‘w’) from dual; --查询本月第几周
select trunc(日期,‘d’) from dual; --意周日为一周起始日期 查询当周第一天
select trunc(日期,‘iw’) from dual;–意周日为一周结束日期 查询当周第一天
结束语
这边文章总结了大梦数据库常用的一些有关时间及日期方面的函数,并列举了每个函数的用法,如有其他疑问请大家评论留言指出,欢迎大家指正。最后,希望这篇博文能给大家提供些许帮助,感谢大家的支持!