使用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