美文网首页
sqlserver中时间计算函数

sqlserver中时间计算函数

作者: Jure_joe | 来源:发表于2020-04-16 09:50 被阅读0次

    一、时间的比较

     开始的时候我比较时间用的是 Time>GETDATE() 简单粗暴
    
     其实SQL Server有自带的时间比较函数,所以可以用它自带的,还安全也很方便
    
     DATEDIFF();
    
     我参照的W3School 中对于DATEDIFF函数的解析,具体如下:
    
     语法
    

    DATEDIFF(datepart,startdate,enddate)
    其中datepart是只你要比较这个两个时间的年?还是月?还是日?还是小时等相差多少
    具体写法参照下图:
    datepart 缩写
    年 yy, yyyy
    季度 qq, q
    月 mm, m
    年中的日 dy, y
    日 dd, d
    周 wk, ww
    星期 dw, w
    小时 hh
    分钟 mi, n
    秒 ss, s
    毫秒 ms
    微妙 mcs
    纳秒 ns
    简单的写个例子说明下:

            DATEDIFF(HH,'2014-06-25 8:00:00','2014-06-25 12:58:00') 得到值是4,就是这个两时间相比较小时相差4个小时
    
            如果要比较天数,就把HH改为d即可,其他比较可以看上图
    

    二、时间的加减

         开始我用的是  Time+1就是在时间上加一天,减一天就用Time-1,同样的简单粗暴
    
         下面说一下SQL Server中自带的时间加减的函数
    
         语法如下:
    
     DATEADD(datepart,number,date)
     其中datepart是你要加减的时间的形式,加年?还是月?还是日等
     具体写法如下:
    

    datepart 缩写
    年 yy, yyyy
    季度 qq, q
    月 mm, m
    年中的日 dy, y
    日 dd, d
    周 wk, ww
    星期 dw, w
    小时 hh
    分钟 mi, n
    秒 ss, s
    毫秒 ms
    微妙 mcs
    纳秒 ns
    感觉和上述的DATEDIFF差不多,直接看例子:

                DATEADD(d,1,GETDATE())是当前时间加一天,减一天就用 DATEADD(d,-1,GETDATE())
    
               如果是对于年、月、小时等加减参照上图,修改datepart即可,方便快捷

    相关文章

      网友评论

          本文标题:sqlserver中时间计算函数

          本文链接:https://www.haomeiwen.com/subject/womlvhtx.html