MSSQL中两个时间相减的计算(mssql 两个时间相减)

今天,我们需要使用MS-SQL进行两个时间的相减计算,包括获取两个日期之间的时间差距。一般情况下,我们返回的时间差距是相隔的毫秒数,而有些情况下,我们也可以根据指定单位返回时间差距。我们可以使用MS-SQL中的DATEDIFF计算函数对时间格式的字符串或者具体的某一个日期进行处理,具体的语法如下:

DATEDIFF(units, startdate, enddate)

在上述语法中,units是指单位,可以是一天,一小时,一分钟,一秒等等;startdate和enddate是指起始日期和结束日期。例如,我们想要计算2020年1月1日到2020年2月2日之间的时间差距的小时数,便可以使用DATEDIFF函数对两个日期进行相减计算。实现代码如下:

SELECT

DATEDIFF(hour, ‘2020-01-01’, ‘2020-02-02’) AS diff_in_hour

该语句计算出来的结果就是

|Diff_in_hour|

| :—: |

|2083|

可知,2020年1月1日到2020年2月2日之间的小时数为2080个小时。

除了使用DATEDIFF函数,我们也可以使用MS-SQL中的函数DATEDIFF(unit,datepart,startdate,enddate)来获取两个日期之间的时间差距,其使用方法也非常简单,如下:

SELECT

DATEDIFF(datepart, ‘2020-01-01’, ‘2020-02-02’) AS diff_day

该语句会返回

|Diff_day|

| :—: |

|31|

可见,2020年1月1日到2020年2月2日之间共有31天时间差距。

另外,要注意的是,我们在调用DATEDIFF函数时,所传入的参数单位不能是小时等时间单位,而必须为月,年,周等比较大的粒度单位,否则MS-SQL会报错。

综上所述,本文介绍的是MSSQL中的两个时间相减的计算,以及如何使用DATEDIFF函数来计算时间差距。使用MS-SQL DATEDIFF函数,可以比较方便的获取两个日期之间的时间差距,一定要注意所传入单位设置为比较大的粒度单位。


数据运维技术 » MSSQL中两个时间相减的计算(mssql 两个时间相减)