Use the DATEADD function
Note: Only tested the SQL SERVER database is valid, other databases have not been tested
Calling instructions
DATE (parameter one, parameter two, parameter three)
Parameter Description
Parameter one:
Types of | parameter |
---|---|
year | yy, yyyy |
Quarter | qq, q |
month | mm, m |
Midday | dy, y |
day | dd, d |
week | wk, ww |
week | dw, in |
hour | hh |
minute | my n |
second | ss, s |
millisecond | ms |
subtle | mcs |
Nanosecond | ns |
Parameter 2:
Span (positive integer is the date after, negative integer is the date before)
Parameter 3:
a given known date
Return value description
Returns a number of days (DD) or months (MM) before (negative integer) or after (positive integer) a given known date
Call example
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