【SQL的学习笔记】DATE计算,获取一个日期前后若干时间的新日期

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

结果

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章