[SQL study notes] DATE calculation, get a new date several times before and after a date

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

result

Insert picture description here

Published 23 original articles · Like1 · Visits 20,000+

Guess you like

Origin blog.csdn.net/shenjie_xsj/article/details/105205540