SQL DATEADD函數

 語法

 

DATEADD (datepart , number , date )

 

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

 

 

參數

datepart

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

  

 

number

  是一個表達式,可以解析爲與 date 的 datepart 相加的 int。用戶定義的變量是有效的。

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


date

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


返回類型

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

 

返回值

datepart 參數

  dayofyeardayweekday 返回相同的值。

  每個 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');
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章