>  기사  >  데이터 베이스  >  Oracle 中获取特定日期时间 (need to H)

Oracle 中获取特定日期时间 (need to H)

WBOY
WBOY원래의
2016-06-07 17:06:041133검색

SELECT TRUNC(TRUNC(SYSDATE-1,

SELECT TRUNC(TRUNC(SYSDATE-1, 'YEAR')-1, 'YEAR') FROM DUAL   -- Get first day of last year, sysdate-1 indicate current day in DW case.

select add_months(trunc(sysdate, 'year'), 12) - (1 / 86400) from dual   -- 得到当年最后一天最后时刻分秒。

SELECT TRUNC(TO_DATE('20110228', 'YYYYMMDD'), 'MONTH') AS FIRST_DAY_MONTH FROM DUAL --- 获取当前月的第一天

SELECT TRUNC(SYSDATE, 'MONTH') AS FIRST_DAY_CURRENT_MONTH FROM DUAL;   -- 得系统当月第一天

 

--- 获得去年的上个月第一天到今年的上个月的最后一天的最后时间点。如当前为2011-09,,则返回2010-08-01 至2011-08-31 23:59:59

SELECT TRUNC(ADD_MONTHS(SYSDATE, -13), 'MONTH'),  -- fist_day_of_previous_month_of_last_year

       TRUNC(SYSDATE, 'MONTH') - (1 / 86400)      -- end_datetime_of_last_month

FROM DUAL;

 

SELECT TRUNC(SYSDATE, 'MONTH') - (1 / 86400)FROM DUAL;  -- 得系统上个月最后一天最后时间点

 

--- 获取指定月的上上一个月的起止日期段。

SELECT TRUNC(ADD_MONTHS(SYSDATE, -2), 'MONTH') AS fisrt_day_of_last_last_month,

       Trunc(ADD_MONTHS(SYSDATE, -1), 'MONTH') - (1 / 86400) AS Last_Day_of_last_Last_Month

FROM DUAL; 

SELECT TRUNC(ADD_MONTHS(to_date('20110220', 'yyyymmdd'), -2), 'MONTH') AS fisrt_day_of_last_last_month,

       Trunc(ADD_MONTHS(to_date('20110220', 'yyyymmdd'), -1), 'MONTH') - (1 / 86400) AS Last_Day_of_last_Last_Month

FROM DUAL; 

--- 获取上一天最后时刻点的二个方法

select (TRUNC(NEXT_DAY(SYSDATE, 1), 'DAY') - (1 / 86400)) - 3 from dual;

SELECT TO_DATE(TO_CHAR(SYSDATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - (1 / 86400) FROM DUAL;

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.