SQL (сервер) преобразование даты - PullRequest
1 голос
/ 09 июня 2010

Я хочу преобразовать продолжительность выполнения (из msdb..sysjobhistory) в число прошедших секунд. Продолжительность хранится в виде целого числа, например,

13     means 13 secs
213    means 2 mins and 13 secs = 133 secs
310213 means 31 hours, 2 mins and 13 secs  = 111,733 secs

Есть ли какой-нибудь аккуратный способ сделать это?

Это SQL Server 2000, но я бы предпочел универсальный SQL

1 Ответ

4 голосов
/ 09 июня 2010

Я не думаю, что есть какой-либо аккуратный способ ANSI сделать это, или даже аккуратный способ, используя расширения SQL Server 2000Вы можете сделать это следующим образом:

(duration % 100) +
(((duration / 100) % 100) * 60) + 
(duration / 10000) * 60 * 60
...