преобразование часов в секунды в запросе sql - PullRequest
0 голосов
/ 18 января 2012

Привет, есть ли простой способ конвертировать часы в секунды?с помощью SQL-запроса.

Пример: @mytime = 2:15 часов

Ожидаемый результат равен @result = 8100 секунд.

2 * 3600 + 15 * 60 = 8100

Спасибо

Ответы [ 2 ]

5 голосов
/ 18 января 2012

Вы уже представили самый простой способ 8 -)

Если вы хотите преобразовать часовую строку, то:

DECLARE @str VARCHAR(10) = '5:35'

SELECT 
    CAST(SUBSTRING(@str, 1, CHARINDEX(':', @str, 1)-1) AS INT)*3600+
    CAST(SUBSTRING(@str, CHARINDEX(':', @str, 1)+1, 1000) AS INT)*60
1 голос
/ 14 ноября 2014

Существует более простой способ, который работает на SQL-сервере и менее подвержен ошибкам.

DECLARE @str CHAR(5) = '02:15'
SELECT
    DATEDIFF(SECOND, '00:00', @str)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...