SQL Server日期时间加减函数–DATEDIFF、DateAdd
作者:mmseoamin日期:2024-01-21

SQL Server日期时间加减函数–DATEDIFF、DateAdd

目录

  • SQL Server日期时间加减函数–DATEDIFF、DateAdd
    • 一、时间加减函数之DATEDIFF
        • 1.DATEDIFF语法
        • 2. datepart: 时间类型
        • 3.DATEDIFF示列
        • 二、时间的加减函数之 DATEADD
            • 1.DATEADD语法
            • 2. datepart: 时间类型
            • 3.DATEADD示列
            • 三、其它日期加减函数
                • 1.datepart
                • 2.datename
                • 四、总结

                  一、时间加减函数之DATEDIFF

                  1.DATEDIFF语法
                  DATEDIFF(datepart,startdate,enddate)
                  描述:
                  datepart: 时间类型 比如天、周、年
                  startdate、enddate :是开始时间和结束时间
                  
                  2. datepart: 时间类型
                  datepart缩写
                  yy, yyyy
                  季度qq, q
                  mm, m
                  年中的日dy, y
                  dd, d
                  wk, ww
                  星期dw, w
                  小时hh
                  分钟mi, n
                  ss, s
                  毫秒ms
                  微妙mcs
                  纳秒ns
                  3.DATEDIFF示列
                  SELECT DATEDIFF(HH,'2023-05-07 16:00:00',GETDATE()); --1,两时间相比较小时相差1个小时
                  SELECT DATEDIFF(yy,'2020-05-07 16:00:00',GETDATE()); --3,两时间相比较小时相差3年
                  

                  二、时间的加减函数之 DATEADD

                  1.DATEADD语法
                  DATEADD(datepart,number,date)
                  描述:
                  datepar :时间规格(年、月、日等)
                  number: 加减数量
                  date :以什么时间为准
                  
                  2. datepart: 时间类型
                  datepart缩写
                  yy, yyyy
                  季度qq, q
                  mm, m
                  年中的日dy, y
                  dd, d
                  wk, ww
                  星期dw, w
                  小时hh
                  分钟mi, n
                  ss, s
                  毫秒ms
                  微妙mcs
                  纳秒ns
                  3.DATEADD示列
                  SELECT DATEADD(WEEK, 1, GETDATE()); --2023-05-14 17:40:25.960 当前时间加一周
                  SELECT DATEADD(MM, 5, GETDATE()); --2023-10-07 17:41:35.910 当前时间加5个月
                  SELECT DATEADD(yy, -1, GETDATE()); --2022-05-07 17:42:22.337 当前时间减1年
                  

                  三、其它日期加减函数

                  1.datepart

                  语法

                  datepart (datepart,getdate())
                  –-返回代表指定日期的指定日期部分的整数。
                  SELECT DATEPART(mm, GETDATE()); --返回 5 
                  SELECT DATEPART(WEEK, GETDATE()); --返回 19 
                  
                  2.datename

                  语法

                  datename (datepart,getdate())
                  –-返回代表指定日期的指定日期部分的字符串
                  SELECT DATENAME(dw, GETDATE()); --返回:星期日
                  SELECT DATENAME(Wk, GETDATE()); --返回 19 今年的19周
                  

                  四、总结

                  函数参数/功能
                  DateDiff (datepart,date1,date2)以datepart指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
                  DateAdd (datepart,number,date)以datepart指定的方式,加上number之后的日期
                  DatePart (datepart,date)返回日期date中,datepart指定部分所对应的整数值
                  DateName (datepart,date)返回日期date中,datepart指定部分所对应的字符串名称