将时间分成十二个相等的部分

时间:2014-08-14 02:14:24

标签: sql-server-2008 tsql

我试图获得夜晚12个相等部分的值。

这就是我的表格:

sunrise_time             sunset_time              Day_Length        Night_length
2014-01-01 06:02:41.000  2014-01-01 20:44:05.000  14:41:24.0000000  09:18:36.0000000

这是我的查询,但获取day_length而不是night_light

select (convert(varchar(10),dateadd(ss,abs(datediff(ss,sunrise_time,sunset_time))/12,0),8)) as nighthour
from table1

预期输出:00:46:33

实际输出:01:13:27

我的查询有什么问题?

1 个答案:

答案 0 :(得分:1)

datediff中切换开始日期和结束日期以避免出现问题。这是对代码的一个小改动。

select convert(varchar(10), dateadd(ss, datediff(ss, 0, night_length) / 12, 0), 8)
from table1