SQL Server中的DATEADD函数用于向日期(或时间)值添加指定的时间间隔,并返回一个新的日期(或时间)值。
DATEADD(datepart, number, date)
其中:
1. datepart:指定要添加的时间间隔单位,有如下值:
year,yy,yyyy:年
month,mm,m:月
day,dd,d:日
week,wk,ww:周
hour,hh:小时
minute,mi,n:分钟
second,ss,s:秒
millisecond,ms:毫秒
microsecond,mcs:微米
quarter,qq,q:季度
dayofyear,dy,y:年内的第几天
2. number:要添加的时间间隔数目。可以是正整数或负整数。
3. date:是一个日期或时间值,可以是一个表达式、列名或变量。
示例:
1. 添加年份
SELECT DATEADD(year, 1, '2024-07-22') AS NewDate;
-- 返回 '2025-07-22'
SELECT DATEADD(year, 1, getdate()) AS NewDate;
-- 返回 '2025-07-22 11:21:38.337'
2. 减去年份
SELECT DATEADD(year, -1, '2023-07-22') AS NewDate;
-- 返回 '2023-07-22'
注:
1. 如果添加或减去的时间间隔导致日期超出其有效范围(例如月份超过12或日期超出月份的天数),SQL Server会自动调整日期。
2. DATEADD函数返回一个新的日期或时间戳,并不修改原始输入的日期或时间戳。