SQL Server时间转换-第三种:DATEADD

时间:2024-07-06 17:56:05

语法:DATEADD(datepart,number,date)
参数:

  • date 参数是合法的日期表达式,类型可以是datetime、smalldatetime、char。
  • number 是您希望添加的间隔数,最好是整数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。
  • 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
毫秒(millisecond ms
微秒(microsecond) mcs
纳秒(nanosecond) ns
  • 具体用法如下:
1.实现秒加减
--减100秒
SELECT DATEADD(ss,-100,'2024-07-03')
SELECT DATEADD(s,-100,'2024-07-03')
SELECT DATEADD(second,-100,'2024-07-03')
--加100秒
SELECT DATEADD(ss,100,'2024-07-03')
SELECT DATEADD(s,100,'2024-07-03')
SELECT DATEADD(second,100,'2024-07-03')
2.实现分钟加减
--减1分钟
SELECT DATEADD(mi,-1,'2024-07-03')
SELECT DATEADD(n,-1,'2024-07-03')
SELECT DATEADD(minute,-1,'2024-07-03')
--加1分钟
SELECT DATEADD(mi,1,'2024-07-03')
SELECT DATEADD(n,1,'2024-07-03')
SELECT DATEADD(minute,1,'2024-07-03')
3.实现小时加减
--减1小时
SELECT DATEADD(hh,-1,'2024-07-03')
SELECT DATEADD(hour,-1,'2024-07-03')
--加1小时
SELECT DATEADD(hh,1,'2024-07-03')
SELECT DATEADD(hour,1,'2024-07-03')
4.实现日加减
--减1天
SELECT DATEADD(dd,-1,'2024-07-03')
SELECT DATEADD(d,-1,'2024-07-03')
SELECT DATEADD(day,-1,'2024-07-03')
--加1天
SELECT DATEADD(dd,1,'2024-07-03')
SELECT DATEADD(d,1,'2024-07-03')
SELECT DATEADD(day,1,'2024-07-03')
5.实现周加减
--减1周
SELECT DATEADD(ww,-1,'2024-07-03')
SELECT DATEADD(wk,-1,'2024-07-03')
SELECT DATEADD(week,-1,'2024-07-03')
--加1周
SELECT DATEADD(ww,1,'2024-07-03')
SELECT DATEADD(ww,1,'2024-07-03')
SELECT DATEADD(ww,1,'2024-07-03')
6.实现月份加减
--减1月
SELECT DATEADD(m,-1,'2024-07-03')
SELECT DATEADD(mm,-1,'2024-07-03')
SELECT DATEADD(month,-1,'2024-07-03')
--加1月
SELECT DATEADD(m,1,'2024-07-03')
SELECT DATEADD(mm,1,'2024-07-03')
SELECT DATEADD(month,1,'2024-07-03')
7.实现季度加减
--减1季度
SELECT DATEADD(q,-1,'2024-07-03')
SELECT DATEADD(qq,-1,'2024-07-03')
SELECT DATEADD(quarter,-1,'2024-07-03')
--加1季度
SELECT DATEADD(q,1,'2024-07-03')
SELECT DATEADD(qq,1,'2024-07-03')
SELECT DATEADD(quarter,1,'2024-07-03')
8.实现年份加减
--减1年
SELECT DATEADD(yy,-1,'2024-07-03')
SELECT DATEADD(yyyy,-1,'2024-07-03')
SELECT DATEADD(year,-1,'2024-07-03')
--加1年
SELECT DATEADD(yy,1,'2024-07-03')
SELECT DATEADD(yyyy,1,'2024-07-03')
SELECT DATEADD(year,1,'2024-07-03')