Oracle本周/本月/本季/本年第一天最后一天时间获取

上一篇 / 下一篇  2017-08-31 15:04:46 / 个人分类:其他

Oracle的日期展示,该日期和安装Oracle服务所在机器的系统时间有关(所以想获取实时当前正确的数据,必须确保服务器系统时间正确)

格式化:
本月第一天和最后一天
select to_char(trunc(sysdate,'MM'),'yyyymmdd') from dual;
select to_char(last_day(sysdate), 'yyyymmdd') from dual;

本周
当前时间:和当前时间往前推7天(跟星期几无关)
SELECT to_char(trunc(sysdate) - 6,'yyyyMMdd') FROM DUAL;
select trunc(sysdate) FROM DUAL;


和星期几有关,星期一算是第一天,星期天最后一天(第一种写法)
SELECT to_char(TRUNC(sysdate,'IW'),'yyyyMMdd')  FROM DUAL
SELECT to_char(TRUNC(sysdate,'IW') + 6,'yyyyMMdd') FROM DUAL;

第二种写法
select to_char(trunc(sysdate,'d')+1,'yyyyMMdd') from dual;
select to_char(trunc(sysdate,'d')+7,'yyyyMMdd') from dual


当年时间:select to_char(sysdate,'yyyy')  from dual;


当年的第一天和最后一天:
select to_char(trunc(sysdate,'yy'),'yyyyMMdd') FROM DUAL;
select to_char(last_day(add_months(trunc(SYSDATE,'y'),11)),'yyyyMMdd') from dual


季度的第一天和最后一天
select  to_char(trunc(sysdate,'Q'),'yyyyMMdd')from dual
select to_char(add_months(trunc(sysdate,'Q'),3)-1,'yyyyMMdd') from dual

TAG:

 

评分:0

我来说两句

Open Toolbar