SQLSever时间计算变成时间值

1、计算俩个时间值,换算成秒

DECLARE @time1 DATETIME
DECLARE @time2 DATETIME
SET @time1 = '2020-10-26 10:00:00'
SET @time2 = '2020-10-26 10:10:10'
SELECT DATEDIFF(S, @time1, @time2)

image.png

2、秒在换算成时间戳。我们时间戳开始时间是'1970-01-01  00:00:00'开始计算的 

DECLARE @time1 DATETIME
DECLARE @time2 DATETIME
SET @time1 = '2020-10-26 10:00:00'
SET @time2 = '2020-10-26 10:10:10'
SELECT DATEADD(S, DATEDIFF(S, @time1, @time2), '1970-01-01 00:00:00')

image.png

3、时间戳在换算成time或者datetime

DECLARE @time1 DATETIME
DECLARE @time2 DATETIME
SET @time1 = '2020-10-26 10:00:00'
SET @time2 = '2020-10-26 10:10:10'
SELECT CONVERT(VARCHAR(10),DATEADD(S, DATEDIFF(S, @time1, @time2), '1970-01-01 00:00:00'),108)
SELECT CONVERT(VARCHAR(20),DATEADD(S, DATEDIFF(S, @time1, @time2), '1970-01-01 00:00:00'),120)
如果转成datetime会变成从1970-01-01开始计算的。一般用于time的时间计算换算

image.png

image.png

猜你喜欢

转载自blog.51cto.com/11728495/2544201