[Notas de estudio de SQL] Cálculo de FECHA, obtenga una nueva fecha varias veces antes y después de una fecha

Use la función DATEADD

Nota: Solo se probó que la base de datos SQL SERVER es válida, otras bases de datos no se han probado

Instrucciones de llamada

FECHA (parámetro uno, parámetro dos, parámetro tres)

Descripción del parámetro

Parámetro uno:

Tipo Parámetro
Años aa, aaaa
Cuarto qq, q
Mes mm, m
Mediodia dy, y
Día dd, d
Semana wk, ww
Semana dw, en
Horas S.S
Minutos mi, n
Segundos ss, s
Milisegundos Sra
Sutil mcs
Nanosegundo ns

Parámetro 2:
Span (entero positivo es la fecha posterior, entero negativo es la fecha anterior)
Parámetro 3:
una fecha conocida dada

Descripción del valor de retorno

Devuelve una cantidad de días (DD) o meses (MM) antes (entero negativo) o después (entero positivo) de una fecha conocida dada

Ejemplo de llamada

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

El resultado

Inserte la descripción de la imagen aquí

23 artículos originales publicados · Me gusta1 · Visitas 20,000+

Supongo que te gusta

Origin blog.csdn.net/shenjie_xsj/article/details/105205540
Recomendado
Clasificación