1. 程式人生 > >Oracle當前日期前後推算公式

Oracle當前日期前後推算公式

平時在專案中會經常遇到需要用某個日期(如當前系統時間)來獲取該日期前後的特定日期,下面列出一些常用的公式。

✳ sysdate為系統當前日期

基礎函式

  • 字串型別轉換成日期型別
select to_date('2016-06-15','yyyy-mm-dd') from dual -- 2016-6-15
  • 日期型別轉換成字串型別
select to_char(sysdate,'yyyy-mm-dd') from dual -- 系統當前日期

拓展公式

  • 當年年初日期
select trunc(to_date('2016-06-15','yyyy-mm-dd'),'year'
) from dual -- 2016-1-1
  • 當年年末日期
select add_months(trunc(to_date('2016-06-15','yyyy-mm-dd'),'year'),12)-1 from dual -- 2016-12-31
  • 當前日期上月月初
select add_months(last_day(to_date('2016-06-15','yyyy-mm-dd'))+1,-2) from dual -- 2016-5-1
select add_months(last_day(to_date('2016-01-15','yyyy-mm-dd'))+1,-2) from dual -- 2015-12-1
  • 當前日期上月月末
select add_months(last_day(to_date('2016-06-15','yyyy-mm-dd')),-1) from dual -- 2016-5-31
select add_months(last_day(to_date('2016-01-15','yyyy-mm-dd')),-1) from dual -- 2015-12-31
  • 當前日期上月年初
select trunc(to_date(add_months(last_day(to_date('2016-06-15','yyyy-mm-dd')),-1)),'year') from dual -- 2016-1-1
select
trunc(to_date(add_months(last_day(to_date('2016-01-15','yyyy-mm-dd')),-1)),'year') from dual -- 2015-1-1
  • 當前日期上月年末
select add_months(trunc(to_date(add_months(last_day(to_date('2016-06-15','yyyy-mm-dd')),-1)),'year'),12)-1 from dual -- 2016-12-31
select add_months(trunc(to_date(add_months(last_day(to_date('2016-01-15','yyyy-mm-dd')),-1)),'year'),12)-1 from dual -- 2015-12-31
  • 當前日期上年年初
select add_months(trunc(to_date('2016-06-15','yyyy-mm-dd'),'year'),-12) from dual -- 2015-1-1
  • 當前日期上年年末
select trunc(to_date('2016-06-15','yyyy-mm-dd'),'year')-1 from dual -- 2015-12-31
  • 當前日期下月月初
select add_months(last_day(to_date('2016-06-15','yyyy-mm-dd'))+1,0) from dual -- 2016-7-1
select add_months(last_day(to_date('2015-12-15','yyyy-mm-dd'))+1,0) from dual -- 2016-1-1
  • 當前日期下月月末
select add_months(last_day(to_date('2016-06-15','yyyy-mm-dd')),1) from dual -- 2016-7-31
select add_months(last_day(to_date('2015-12-15','yyyy-mm-dd')),1) from dual -- 2016-1-31
  • 當前日期下月年初
select trunc(to_date(add_months(last_day(to_date('2016-06-15','yyyy-mm-dd')),1)),'year') from dual -- 2016-1-1
select trunc(to_date(add_months(last_day(to_date('2015-12-15','yyyy-mm-dd')),1)),'year') from dual -- 2016-1-1
  • 當前日期下月年末
select add_months(trunc(to_date(add_months(last_day(to_date('2016-06-15','yyyy-mm-dd')),1)),'year'),12)-1 from dual -- 2016-12-31
select add_months(trunc(to_date(add_months(last_day(to_date('2015-12-15','yyyy-mm-dd')),1)),'year'),12)-1 from dual -- 2016-12-31
  • 當前日期下年年初
select add_months(trunc(to_date('2016-06-15','yyyy-mm-dd'),'year'),12) from dual -- 2017-1-1
  • 當前日期下年年末
select add_months(trunc(to_date('2016-06-15','yyyy-mm-dd'),'year')-1,24) from dual -- 2017-12-31

相關推薦

Oracle當前日期前後推算公式

平時在專案中會經常遇到需要用某個日期(如當前系統時間)來獲取該日期前後的特定日期,下面列出一些常用的公式。 ✳ sysdate為系統當前日期 基礎函式 字串型別轉換成日期型別 sel

【python】python獲取當前日期前後N天或N月的日期

color ont mes form localtime col r+ arr nth 1 # -*- coding: utf-8 -*- 2 3 ‘‘‘獲取當前日期前後N天或N月的日期‘‘‘ 4 5 from time import strfti

Oracle當前日期的下個半月,例如今天的下個半月是十月一號到十月十五號,如果是上半月,則顯示本月的下半月

CREATE OR REPLACE FUNCTION FUN$_GETMONTH RETURN VARCHAR2 IS   /*************************** *用途:根據當前日期,判斷是上半月還是下半月,如果是下半月,則顯示下月的上半月(20180

如何將Oracle 當前日期加一天、一分鐘

在Oralce中我發現有add_months函式,加天數N可以用如下方法實現,select sysdate+N from dual ,sysdate+1 加一天sysdate+1/24 加1小時sysdate+1/(24*60) 加1分鐘sysdate+1/(24*60*60) 加1秒鐘類推至毫秒0.001

mysql 當前日期前後n天

CURDATE()  當前日期    yyyy-mm-dd  NOW()         當前時間  yyyy-mm-dd  hh:ii:ssUNIX_TIMESTAMP()  日期轉時間戳INTERVAL 2 DAY  前2天INTERVAL -2 DAY  後2天INTE

如何獲得Oracle當前日期的年或月的第一天和最後一天

1.當前日期的年份第一天和最後一天 第一天 select trunc(sysdate,'y') FROM DUAL; select trunc(sysdate,'yy') FROM DUAL; select trunc(sysdate,'yyy') FROM DUAL; s

Oracle當前日期的最近工作日

描述 bsp 當前 需要 現在 應該 結果 當前日期 join 描述:現有一需求,日期表中存放了日期和是否節假日(0-工作日,1-節假日),現在需要取日期表中的最近的工作日。如2017/07/23(周日)最近的工作日應該是2017/07/21(周五)。 DA

1.處理當前時間前後日期範圍 2.處理日期格式

Month(month) {//處理當前時間前後的日期範圍 var time = new Date(); time.setDate(time.getDate());//獲取Day天后的日期 var y = time.getFullYear(); var m; if (time.g

Python獲取當前日期前後N天

計算當前時間前後的差值,對於時間的處理,我們自然會想到:timedalte 類, 該類屬於datetime模組。 所謂的timedalte類,它主要作用於表示兩個時間的差值,比如在當前日期向前推100天是幾月幾號,向當前日期後推100天是幾月幾號,這個時間ti

js獲取當前時間前後N天前後日期的方法

這個javascript函式是獲取當前時間前後N天日期的方法,可以得到昨天,今天,明天,一月前,三月前,半年前,一年前的日期,只要修改引數就可以實現得到任何一個天數。具體用法如下:function GetDateStr(AddDayCount) { var dd = new 

oracle怎麼使用當前日期

我們有時需要在SQL語句中直接獲取當前日期,在oracle資料庫中就存在一個函式可以直接獲取當前時間。 SELECT to_char ( RAILWAY_XUN_PLAN.ID ) ID, to_char ( RAILWAY_XUN_PLA

Oracle獲取當前日期日期格式

Oracle 獲取當前日期及日期格式   獲取系統日期:  SYSDATE()    格式化日期:     TO_CHAR(SYSDATE(),'YY/MM/DD HH24:MI:SS)                或        TO_DATE(SYSDATE(),'Y

獲取當前時間前後N天前後日期的方法

function GetDateStr(AddDayCount) {       var dd = new Date();      dd.setDate(dd.getDate()+AddDayCount);//獲取AddDayCount天后的日期    var y = d

Oracle 獲取當前日期日期格式 .

Oracle 獲取當前日期及日期格式    獲取系統日期:  SYSDATE()   格式化日期:     TO_CHAR(SYSDATE(),'YY/MM/DD HH24:MI:SS')                      或 TO_DATE(SYSDATE(),

oracle當前日期前一週的各天

select  to_char(TRUNC(sysdate)-interval '7' day  + LEVEL,'yyyy-MM-dd')  AS FDATE from dual CONNECT BY LEVEL <= 7;比如今天是2017-12-29如果是不包含今

oracle日期函式IW和WW 的區別 oracle當前日期是今年第幾天,第幾周,第幾月,第幾季度?

IW :     是周演算法以周別為“主線” ,每年最多可以有53個周B別,但是每年至少要包含52個周別; 如果一年當中第52周別之後至當年的12月31日之間,還有大於或等於4天的話,則定為當年的第53周,否則剩餘這些天數被歸為下一年的第1周;如果在不 足52周別的話,則以下一年的時間來補;每週固定的從週

日期計算程式碼(1):計算當前時間前後N天

C語言計算當前時間前後N天可以藉助庫函式<time.h>提供的函式,先獲取當前時間從1970年開始累計的秒數,再加減N天對應的秒數,最後將秒數還原年月日時間,具體程式碼如下。 #inlcude  <time.h>int main(int argc,c

oracle當前日期時間的前一天前一小時前一分鐘前一秒

SELECT '當前時間' TITLE, TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') TI

獲得當前日期所屬的本周第一天與最後一天

date 獲得 mkt 日期 時間 -m ech 當前 time echo ‘<br>本周起始時間:<br>‘;echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")

JS中在當前日期上追加一天或者獲取上一個月和下一個月

ren days 月的天數 rem () split color 測試 -1 /** * 獲取上一個月 * * @date 格式為yyyy-mm-dd的日期,如:2014-01-25 */