使用SQL Server。
表1
ID TotalTime
001 12:00:00
002 11:00:00
003 09:00:00
004 08:00:00
005 14:00:00
....
....,
TotalTime Datatype is nvarchar
我需要将总时间列拆分为3列,如下面的条件
First 8 Hours should display in First column
After 8 Hours the next 2 Hours should display in Second column
After 10 Hours the remaining hours should display in third column
预期产出
ID TotalTime Column1 Column2 Column3
001 12:00:00 08:00:00 02:00:00 02:00:00
002 11:00:00 08:00:00 02:00:00 01:00:00
003 09:00:00 08:00:00 01:00:00
004 08:00:00 08:00:00
005 14:00:00 08:00:00 02:00:00 04:00:00
....
....,
如何查询上述条件。
需要查询帮助。
答案 0 :(得分:2)
您可以使用case
分割时间:
select ID
, case when totaltime > 8 then 8
else totaltime end
, case when totaltime > 10 then 2
when totaltime > 8 then totaltime - 8
else 0 end
, case when totaltime > 10 then totaltime - 10
else 0 end
from YourTable