SQL Server 使用DATEADD()函数实现秒、分钟、小时、日、周、月份、季度、年份加减

tech2024-06-04  73

1 使用详解

DATEADD()

说明:在日期中添加或减去指定的时间间隔。

语法:

DATEADD(datepart,number,date)

参数:

(1)date 参数是合法的日期表达式,类型可以是datetime、smalldatetime、char。

(2)number 是您希望添加的间隔数,最好是整数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

(3)datepart 参数可以是下面表格的值。

datepart值年份(year)yy , yyyy , year季度(quarter)qq , q , quarter月份(month)mm , m , month年中的日(day of year)dy, y日(day)dd , d , day周(week)wk , ww , week星期(weekday)dw, w小时(hour)hh , hour分钟(minute)mi , n , minute秒(second)ss , s , second毫秒(millisecondms微秒(microsecond)mcs纳秒(nanosecond)ns

2 实现秒加减

--减100秒 SELECT DATEADD(ss,-100,'2020-09-03')--2020-09-02 23:58:20.000 SELECT DATEADD(s,-100,'2020-09-03')--2020-09-02 23:58:20.000 SELECT DATEADD(second,-100,'2020-09-03')--2020-09-02 23:58:20.000 --加100秒 SELECT DATEADD(ss,100,'2020-09-03')--2020-09-03 00:01:40.000 SELECT DATEADD(s,100,'2020-09-03')--2020-09-03 00:01:40.000 SELECT DATEADD(second,100,'2020-09-03')--2020-09-03 00:01:40.000

3 实现分钟加减

--减1分钟 SELECT DATEADD(mi,-1,'2020-09-03')--2020-09-02 23:59:00.000 SELECT DATEADD(n,-1,'2020-09-03')--2020-09-02 23:59:00.000 SELECT DATEADD(minute,-1,'2020-09-03')--2020-09-02 23:59:00.000 --加1分钟 SELECT DATEADD(mi,1,'2020-09-03')--2020-09-03 00:01:00.000 SELECT DATEADD(n,1,'2020-09-03')--2020-09-03 00:01:00.000 SELECT DATEADD(minute,1,'2020-09-03')--2020-09-03 00:01:00.000

4 实现小时加减

--减1小时 SELECT DATEADD(hh,-1,'2020-09-03')--2020-09-02 23:00:00.000 SELECT DATEADD(hour,-1,'2020-09-03')--2020-09-02 23:00:00.000 --加1小时 SELECT DATEADD(hh,1,'2020-09-03')--2020-09-03 01:00:00.000 SELECT DATEADD(hour,1,'2020-09-03')--2020-09-03 01:00:00.000

5 实现日加减

--减1天 SELECT DATEADD(dd,-1,'2020-09-03')--2020-09-02 00:00:00.000 SELECT DATEADD(d,-1,'2020-09-03')--2020-09-02 00:00:00.000 SELECT DATEADD(day,-1,'2020-09-03')--2020-09-02 00:00:00.000 --加1天 SELECT DATEADD(dd,1,'2020-09-03')--2020-09-04 00:00:00.000 SELECT DATEADD(d,1,'2020-09-03')--2020-09-04 00:00:00.000 SELECT DATEADD(day,1,'2020-09-03')--2020-09-04 00:00:00.000

6 实现周加减

-- 2020-09-03星期四 --减1周 SELECT DATEADD(ww,-1,'2020-09-03')--2020-08-27 00:00:00.000星期四 SELECT DATEADD(wk,-1,'2020-09-03')--2020-08-27 00:00:00.000星期四 SELECT DATEADD(week,-1,'2020-09-03')--2020-08-27 00:00:00.000星期四 --加1周 SELECT DATEADD(ww,1,'2020-09-03')--2020-09-10 00:00:00.000星期四 SELECT DATEADD(ww,1,'2020-09-03')--2020-09-10 00:00:00.000星期四 SELECT DATEADD(ww,1,'2020-09-03')--2020-09-10 00:00:00.000星期四

7 实现月份加减

--减1月 SELECT DATEADD(m,-1,'2020-09-03')--2020-08-03 00:00:00.000 SELECT DATEADD(mm,-1,'2020-09-03')--2020-08-03 00:00:00.000 SELECT DATEADD(month,-1,'2020-09-03')--2020-08-03 00:00:00.000 --加1月 SELECT DATEADD(m,1,'2020-09-03')--2020-09-03 00:00:00.000 SELECT DATEADD(mm,1,'2020-09-03')--2020-09-03 00:00:00.000 SELECT DATEADD(month,1,'2020-09-03')--2020-09-03 00:00:00.000

8 实现季度加减

--减1季度 SELECT DATEADD(q,-1,'2020-09-03')--2020-06-03 00:00:00.000 SELECT DATEADD(qq,-1,'2020-09-03')--2020-06-03 00:00:00.000 SELECT DATEADD(quarter,-1,'2020-09-03')--2020-06-03 00:00:00.000 --加1季度 SELECT DATEADD(q,1,'2020-09-03')--2020-12-03 00:00:00.000 SELECT DATEADD(qq,1,'2020-09-03')--2020-12-03 00:00:00.000 SELECT DATEADD(quarter,1,'2020-09-03')--2020-12-03 00:00:00.000

9 实现年份加减

--减1年 SELECT DATEADD(yy,-1,'2020-09-03')--2019-09-03 00:00:00.000 SELECT DATEADD(yyyy,-1,'2020-09-03')--2019-09-03 00:00:00.000 SELECT DATEADD(year,-1,'2020-09-03')--2019-09-03 00:00:00.000 --加1年 SELECT DATEADD(yy,1,'2020-09-03')--2021-09-03 00:00:00.000 SELECT DATEADD(yyyy,1,'2020-09-03')--2021-09-03 00:00:00.000 SELECT DATEADD(year,1,'2020-09-03')--2021-09-03 00:00:00.000
最新回复(0)