Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Хранение времени в системных таблицах?  [new]
GaZone
Member

Откуда:
Сообщений: 67
В таблице msdb.dbo.sysjobhistory поле run_duration имеет тип Int.
Время 1:33:25 записано в нем одним числом 13325. Каким образом можно поле SELECT run_duration FROM msdb.dbo.sysjobhistory получить в виде 1:33:25? Спасибо.
14 дек 09, 16:30    [8064750]     Ответить | Цитировать Сообщить модератору
 Re: Хранение времени в системных таблицах?  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> В таблице msdb.dbo.sysjobhistory поле run_duration имеет тип Int.
> Время 1:33:25 записано в нем одним числом 13325. Каким образом можно
> поле SELECT run_duration FROM msdb.dbo.sysjobhistory получить в виде
> 1:33:25? Спасибо.

select stuff(stuff(str(run_duration, 6), 5, 0, ':'), 3, 0, ':')

Posted via ActualForum NNTP Server 1.4

14 дек 09, 16:39    [8064841]     Ответить | Цитировать Сообщить модератору
 Re: Хранение времени в системных таблицах?  [new]
mike909
Member

Откуда:
Сообщений: 662
GaZone,

select top 100 
  run_duration,
  Left(rd.val, 2) as [HH],
  substring(rd.val, 3, 2) as [mm],
  right(rd.val,2) as [ss]
from msdb.dbo.sysjobhistory
cross apply(
  select REPLICATE('0', 6 - Len(run_duration)) + cast(run_duration as nvarchar) as [val]
) as rd
14 дек 09, 16:40    [8064860]     Ответить | Цитировать Сообщить модератору
 Re: Хранение времени в системных таблицах?  [new]
GaZone
Member

Откуда:
Сообщений: 67
daw

> В таблице msdb.dbo.sysjobhistory поле run_duration имеет тип Int.
> Время 1:33:25 записано в нем одним числом 13325. Каким образом можно
> поле SELECT run_duration FROM msdb.dbo.sysjobhistory получить в виде
> 1:33:25? Спасибо.

select stuff(stuff(str(run_duration, 6), 5, 0, ':'), 3, 0, ':')

Это не катит ибо получим примерно сделующее:
автор
::12
:12:10
итд итп
14 дек 09, 16:46    [8064904]     Ответить | Цитировать Сообщить модератору
 Re: Хранение времени в системных таблицах?  [new]
mike909
Member

Откуда:
Сообщений: 662
GaZone,

Замени
str(run_duration, 6)
на
REPLICATE('0', 6 - Len(run_duration)) + cast(run_duration as nvarchar)
14 дек 09, 16:50    [8064943]     Ответить | Цитировать Сообщить модератору
 Re: Хранение времени в системных таблицах?  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> Это не катит ибо получим примерно сделующее:

select replace(stuff(stuff(str(run_duration, 6), 5, 0, ':'), 3, 0, ':'), ' ', '0')

Posted via ActualForum NNTP Server 1.4

14 дек 09, 16:50    [8064956]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить