У меня есть дата в столбце Total
, который отображает общее время в секундах.(Поскольку это может быть более 24 часов, я использовал DateDiff
для вычисления времени в секундах, это возвращает INT
), как показано ниже:
SET tmTotals = DATEDIFF(Second, tmStartTime, tmEndTime)
дата может выглядеть следующим образом:
StartTime EndTime Total
-----------------------------------------------------------
2018-12-03 00:00:19.257 2018-12-04 00:00:23.288 86404
2018-12-02 10:13:32.586 2018-12-04 10:14:57.298 172885
2018-12-04 12:07:50.636 2018-12-04 18:04:25.526 21395
2018-12-04 03:15:25.061 2018-12-04 13:15:34.665 36009
2018-12-03 20:56:12.947 2018-12-04 03:11:07.992 22495
2018-12-02 00:11:46.020 2018-12-04 00:29:55.051 173889
В моем приложении WPF я хочу использовать два textboxes
для поиска между двумя Total
разами в таблице.Я хочу, чтобы эти textboxes
были отформатированы как hhh:mm:ss
(время может превышать 100 часов).Как я могу получить это значение Int
, чтобы его можно было использовать в StoredProcedure?
Со временами менее 24 часов, которые я использовал, но это можетне будет использоваться сейчас:
CONVERT(varchar, DATEADD(second, DATEDIFF(second, tmStartTime, tmEndTime), 0), 108)
для расчета общего времени, и в моем приложении WPF я сделал:
<TextBox Name="Activeto" Text="{Binding Path=TotalEnd, StringFormat= \\hh\\:mm\\:ss }" Width="60"/>
и код-позади:
TimeSpan timeSpanStart = TimeSpan.Parse(Activefrom.Text);
чтобы преобразовать string
в timespan
, который можно использовать для поиска между временами.