資料庫SQL DATEADD函式

2021-07-23 06:49:50 字數 1552 閱讀 6880

語法

dateadd (datepart , number , date )
將指定 number 時間間隔(有符號整數)與指定 date 的指定 datepart 相加後,返回該 date。

引數 datepart

是與number 相加的 date 部分。下表列出了所有有效的 datepart 引數。使用者定義的變數等效項是無效的。

是乙個表示式,可以解析為與 date 的 datepart 相加的 int。使用者定義的變數是有效的。

如果您指定乙個帶小數的值,則將小數截去且不進行捨入。

date

是乙個表示式,可以解析為 time、date、smalldatetime、datetime、datetime2 或 datetimeoffset 值。date 可以是表示式、列表示式、使用者定義的變數或字串文字。如果表示式是字串文字,則它必須解析為乙個 datetime 值。為避免不確定性,請使用四位數年份。

返回型別

字串文字的返回資料型別為 datetime。如果字串文字的秒數小數字數超過三位 (.nnn) 或包含時區偏移量部分,將引發錯誤。

返回值

datepart 引數

dayofyear、day 和 weekday 返回相同的值。

每個 datepart 及其縮寫都返回相同的值。

如果 datepart 為 month 且 date 月份(八月份)比返回月份(九月份)的天數多,因而 date 中的日在返回月份中不存在(九月份的31號),則返回返回月份的最後一天。例如,9 月份有 30 天;因此,下面兩個語句返回 2006-09-30 00:00:00.000:

select dateadd(month, 1, '2006-08-30')

select dateadd(month, 1, '2006-08-31')

number 引數

number 引數不能超出 int 的範圍。在下面的語句中,number 的引數超出 int 範圍 1。將返回如下錯誤訊息:「將表示式轉換為資料型別 int 時出現算術溢位錯誤。」

select dateadd(year,2147483648, '2006-07-31');

select dateadd(year,-2147483649, '2006-07-31');

date 引數

date 引數不能增加至其資料範圍之外的值。在下面的語句中,與 date 值相加的 number 值超出了 date 資料型別的範圍。將返回如下錯誤訊息:「將值新增到 『datetime』 列導致溢位。」

select dateadd(year,2147483647, '2006-07-31');

select dateadd(year,-2147483647, '2006-07-31');

資料庫時間函式

1.當前系統日期,時間 select getdate 2.dateadd在向指定日期加上一段時間的基礎上,返回datetime值 例如 給日期加上2天,返回新的日期 select dateadd day,2,2004 12 12 返回 2004 12 14 00 00 00 3,datediff返回...

資料庫lpad rpad函式

函式介紹 lpad函式從左邊對字串使用指定的字元進行填充。從其字面意思也可以理解,l是left的簡寫,pad是填充的意思,所以lpad就是從左邊填充的意思。編輯本段語法 語法格式如下 lpad string,padded length,pad string string 準備被填充的字串 padde...

資料庫日期函式

想要進行日期的操作必須知道當前日期 可以使用sysdate偽列取得當前日期。1.add months 日期,數字 在指定的日期上加入指定月數,求出新的日期 2.months between 日期1,日期2 求出兩個日期間的僱擁月數 3.next day 日期,星期數 求出下個日期的最後一天日期 4....