Как разделить общее время с условием - PullRequest
0 голосов
/ 31 января 2011

Использование SQL Server.

Table1

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
....
....,

Как сделать запрос для вышеуказанного условия.

Нужна помощь по запросу.

1 Ответ

2 голосов
/ 31 января 2011

Вы можете использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...