Разделить метки времени начала и окончания на две на основе определенного интервала - PullRequest
0 голосов
/ 14 января 2019

У меня есть время для сотрудников. Я хочу разделить на основе условия динамического интервала

Если интервал 15:00

Input

EMP_ID  SWIPE_IN    SWIPE_OUT
4   2019-01-21 13:10:00.000 2019-01-21 15:45:00.000

Желаемый выход

EMP_ID  SWIPE_IN    SWIPE_OUT
4   2019-01-21 13:10:00.000 2019-01-21 15:00:00.000
4   2019-01-21 15:00:00.000 2019-01-21 15:45:00.000

1 Ответ

0 голосов
/ 15 января 2019

Вы можете использовать что-то вроде этого,

Declare @Interval Varchar(30) = '15:00'
Insert Into [TableName]
Select EMP_ID, CAST(Convert(Varchar, SWIPE_OUT, 23)+ ' ' + @Interval As DateTime), SWIPE_OUT
From [TableName]
Where SWIPE_OUT > CAST(Convert(Varchar, SWIPE_OUT, 23)+ ' ' + @Interval As DateTime) 

Update [TableName]
SET SWIPE_OUT = CAST(Convert(Varchar, SWIPE_OUT, 23)+ ' ' + @Interval As DateTime)
Where SWIPE_IN <> CAST(Convert(Varchar, SWIPE_OUT, 23)+ ' ' + @Interval As DateTime) 
AND SWIPE_OUT > CAST(Convert(Varchar, SWIPE_OUT, 23)+ ' ' + @Interval As DateTime) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...