使用DATEADD函數
注意:只測試過SQL SERVER數據庫有效,其他數據庫尚未測試過
調用說明
DATE(參數一,參數二,參數三)
參數說明
參數一:
類型 | 參數 |
---|---|
年 | yy, yyyy |
季度 | qq, q |
月 | mm, m |
年中的日 | dy, y |
日 | dd, d |
周 | wk, ww |
星期 | dw, w |
小時 | hh |
分鐘 | mi, n |
秒 | ss, s |
毫秒 | ms |
微妙 | mcs |
納秒 | ns |
參數二:
跨度(正整數就是之後的日期,負整數就是之前的日期)
參數三:
一個給定的已知的日期
返回值說明
返回給定已知日期之前(負整數)或之後(正整數)若干天(DD)或若干月(MM)的日期
調用示例
DECLARE @NOW DATE = '2020-3-3'
DECLARE @RESULT1 DATE
DECLARE @RESULT2 DATE
DECLARE @RESULT3 DATE
DECLARE @RESULT4 DATE
DECLARE @RESULT5 DATE
DECLARE @RESULT6 DATE
DECLARE @RESULT7 DATE
SELECT [指定日期] = @NOW
SET @RESULT1 = DATEADD(DD,-1,@NOW) --獲取指定日期的昨天的日期
SELECT [昨天] = @RESULT1
SET @RESULT2 = DATEADD(DD,-2,@NOW) --獲取指定日期的前天的日期
SELECT [前天] = @RESULT2
SET @RESULT3 = DATEADD(DD,3,@NOW) --獲取指定日期的大後天的日期
SELECT [大後天] = @RESULT3
SET @RESULT4 = DATEADD(MM,-4,@NOW) --獲取指定日期的前4月的日期
SELECT [前4月] = @RESULT4
SET @RESULT5 = DATEADD(MM,5,@NOW) --獲取指定日期的後5月的日期
SELECT [後5月] = @RESULT5
SET @RESULT6 = DATEADD(YYYY,-6,@NOW) --獲取指定日期6年前的日期
SELECT [6年前] = @RESULT6
SET @RESULT7 = DATEADD(YYYY,7,@NOW) --獲取指定日期7年後的日期
SELECT [7年後] = @RESULT7