Oracle时间的获取,前一天,前一星期,前一月

前端之家收集整理的这篇文章主要介绍了Oracle时间的获取,前一天,前一星期,前一月前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

–前一天的开始时刻

SELECT to_date(to_char(TRUNC(SYSDATE-1),’yyyy-mm-dd’) || ‘00:00:00’,’yyyy-mm-dd hh24:mi:ss’) FROM DUAL;

–前一天的最后时刻

SELECT to_date(to_char(TRUNC(SYSDATE-1),’yyyy-mm-dd’) || ‘23:59:59’,51); font-family:"microsoft yahei"; font-size:14px"> –上个月第一天的最后时刻

select to_date(to_char(add_months(trunc(sysdate),-1),’yyyy-mm’) || ‘01 23:59:59’,’yyyy-mm-dd hh24:mi:ss’)from dual;

–上个月的第一天

SELECT to_date(to_char(TRUNC(SYSDATE-1),’yyyymm’) || ‘01’,’yyyy-mm-dd’) FROM DUAL;

–上个月第一天最开始的时刻

select to_date(to_char(add_months(trunc(sysdate),’yyyy-mm’) || ‘01 00:00:00’,’yyyy-mm-dd hh24:mi:ss’) from dual;

–上个月最后一天

select to_char(last_day(add_months(sysdate,-1)),’yyyy-mm-dd’) from dual;

–上个月最后一天的时刻

select to_date(to_char(last_day(add_months(sysdate,’yyyy-mm-dd’) || ’ 23:59:59’,’yyyy-mm-dd hh24:mi:ss’) from dual;

另外还有一些获取星期的方法

select to_char(sysdate,’d’) 每周第几天,to_char(sysdate,’dd’) 每月第几天,’ddd’) 每年第几天,’ww’) 每年第几周,’mm’) 每年第几月,’q’) 每年第几季,’yyyy’) 年 
from dual;

select to_char(sysdate,’YYYY”年”mm”月”dd”日”’) from dual;

Box-sizing: border-Box; color: rgb(51,’YYYY/mm/dd hh24:mi:ss ssss’)from dual;


获取指定月的最开始时间和最后的时间:

SELECT to_date(to_char(I_QUERY_DATE ||’01 00:00:00’),’yyyy-mm-dd hh24:mi:ss’) FROM dual;

select to_date(to_char(last_day(t.d)|| ’ 23:59:59’),’yyyy-mm-dd hh24:mi:ss’) from (select to_date(‘2015-05’,’yyyy-mm’) d from dual)t

通过月份获取01年到50年之间全部分月份和月初月末的日期:

select to_char(tt.d,‘yyyy-MM’) interval_month,to_char(tt.d,‘MM’) month,to_char(last_day(tt.d),‘dd’) day,tt.d interval_date,last_day(tt.d) last_day 
from (select ADD_MONTHS(zz.s,rownum - 1) d 
from (select to_date(‘2001-01-01’,‘yyyy-MM-dd’) s,to_date(‘2050-01-01’,‘yyyy-MM-dd’) e 
from dual) zz,(select * from user_objects) 
where rownum <= MONTHS_BETWEEN(zz.e,zz.s) + 1) tt

猜你在找的Oracle相关文章