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

Откуда: С-Пб
Сообщений: 1641
MS SQL 2005. Собственно хочу записать в поле, текущую дату и время округленное до десятой доли секунды. Подскажите пожалуйста наиболее правильный способ, или ссылкой кинте
16 сен 11, 10:58    [11285697]     Ответить | Цитировать Сообщить модератору
 Re: Как округлить время до сотой доли секунды?  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
SELECT CAST(CONVERT(CHAR(21), DATEADD(MILLISECOND,50, GETDATE()),126)AS DATETIME);
16 сен 11, 11:03    [11285749]     Ответить | Цитировать Сообщить модератору
 Re: Как округлить время до сотой доли секунды?  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
iap
SELECT CAST(CONVERT(CHAR(21), DATEADD(MILLISECOND,50, GETDATE()),126)AS DATETIME);
Только я не уверен, что это "наиболее правильный способ"
16 сен 11, 11:04    [11285758]     Ответить | Цитировать Сообщить модератору
 Re: Как округлить время до сотой доли секунды?  [new]
iljy
Member

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

declare @d datetime = getdate()
select @d, DATEADD(ms, (DATEPART(ms, @d) + 50) / 100 * 100 - DATEPART(ms,@d) ,@d)
16 сен 11, 11:11    [11285841]     Ответить | Цитировать Сообщить модератору
 Re: Как округлить время до сотой доли секунды?  [new]
roschinspb
Member

Откуда: С-Пб
Сообщений: 1641
cпасибо.
Довольно компактные получаются преобразования
16 сен 11, 15:35    [11288838]     Ответить | Цитировать Сообщить модератору
 Re: Как округлить время до сотой доли секунды?  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
roschinspb
cпасибо.
Довольно компактные получаются преобразования


поставьте 2008, там вот так можно :)

SELECT CONVERT(datetime2(2), '2011-09-16T22:33:44.1234567')
16 сен 11, 15:59    [11289122]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить