Как разделить время и рассчитать разницу во времени в SQL Server 2005? - PullRequest
1 голос
/ 11 октября 2011

Я хочу разделить время и рассчитать разницу во времени, используя sql server 2005

Мой вывод по умолчанию такой:

EnrollNo     AttDateFirst                          AttDateLast
111      2011-12-09 08:46:00.000          2011-12-09 08:46:00.000
112      2011-12-09 08:40:00.000          2011-12-09 17:30:00.000
302      2011-12-09 09:00:00.000          2011-12-09 18:30:00.000
303      2011-12-09 10:00:00.000          2011-12-09 18:35:00.000

Я хочу, чтобы мой новый вывод был таким:

Enroll No     .....      FirtTime       LastTime      Time Diff
111           .....      8:46:00          8:45:00     00:00:00
112           .....      8:30:00         17:30:00      9:00:00
302           .....      9:00:00         18:30:00      9:30:00 
303           .....     10:00:00         18:35:00      8:35:00

Ответы [ 2 ]

1 голос
/ 11 октября 2011

Вы можете использовать этот запрос:

select EnrollNo, convert(varchar, AttDateFirst, 8) as FirstTime,
                 convert(varchar, AttDateLast, 8) as LastTime,
                 convert(varchar, AttDateLast - AttDateFirst, 8) as [Time Diff]
from YourTable

чтобы вернуть следующие результаты:

EnrollNo    FirstTime                      LastTime                       Time Diff
----------- ------------------------------ ------------------------------ ------------------------------
111         08:46:00                       08:46:00                       00:00:00
112         08:30:00                       17:30:00                       09:00:00
302         09:00:00                       18:30:00                       09:30:00
303         10:00:00                       18:35:00                       08:35:00
1 голос
/ 11 октября 2011

Вы можете использовать

выберите DATEDIFF (день, 2007-11-30,2007-11-20) AS NumberOfDays, DATEDIFF (час, 2007-11-30,2007-11-20) AS NumberOfHours, DATEDIFF (минуты, 2007-11-30,2007-11-20) AS NumberOfMinutes из test_table

для разделения можно использовать

substring(AttDateFirst,charindex(' ',AttDateFirst)+1 ,
                       len(AttDateFirst)) as [FirstTime]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...