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

Откуда: Челябинск
Сообщений: 1851
select cast(cast(getdate() as int) as datetime) - сегодня,
а оказывается это "завтра"
(нужно было в datetime оставить только дату)
16 дек 13, 16:46    [15300067]     Ответить | Цитировать Сообщить модератору
 Re: я думал, что это округлённое "сегодня"  [new]
Glory
Member

Откуда:
Сообщений: 104760
А надо почитать FAQ. А потом думать
16 дек 13, 16:48    [15300085]     Ответить | Цитировать Сообщить модератору
 Re: я думал, что это округлённое "сегодня"  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
select cast(convert(varchar, getdate(), 112) as datetime), cast(cast(getdate() as date) as datetime)
16 дек 13, 16:50    [15300095]     Ответить | Цитировать Сообщить модератору
 Re: я думал, что это округлённое "сегодня"  [new]
muk07
Member

Откуда: Челябинск
Сообщений: 1851
разумеется faq я почитал прежде чем писать.
И вопрос я задавал не потому что не знал как получить "сегодня", а
потому что мне попрежнему неясно почему из
select cast(cast(getdate() as int) as datetime)

получается завтра.
А ВООБЩЕ ТО Я ПОЛЬЗУЮСЬ
select dateadd(day, datediff(day, 0, getdate()), 0)

кстати, поучающий тон ответа плохо смотрится
16 дек 13, 17:05    [15300233]     Ответить | Цитировать Сообщить модератору
 Re: я думал, что это округлённое "сегодня"  [new]
Dmitry V. Liseev
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 5489
Вечер уже.
16 дек 13, 17:08    [15300249]     Ответить | Цитировать Сообщить модератору
 Re: я думал, что это округлённое "сегодня"  [new]
Glory
Member

Откуда:
Сообщений: 104760
muk07
разумеется faq я почитал прежде чем писать.
И вопрос я задавал не потому что не знал как получить "сегодня", а

И это тоже https://www.sql.ru/faq/faq_topic.aspx?fid=110 "я почитал" ?
16 дек 13, 17:09    [15300252]     Ответить | Цитировать Сообщить модератору
 Re: я думал, что это округлённое "сегодня"  [new]
Glory
Member

Откуда:
Сообщений: 104760
muk07
потому что мне попрежнему неясно почему из
select cast(cast(getdate() as int) as datetime)


получается завтра.

Потому что дата+время не являются целым числом
16 дек 13, 17:10    [15300260]     Ответить | Цитировать Сообщить модератору
 Re: я думал, что это округлённое "сегодня"  [new]
Shakill
Member

Откуда: мск
Сообщений: 1880
muk07,

автор
When you convert data types that differ in decimal places, sometimes the result value is truncated and at other times it is rounded.

посмотрите в справку по CAST/CONVERT и найдите таблицу после этого абзаца
16 дек 13, 17:21    [15300335]     Ответить | Цитировать Сообщить модератору
 Re: я думал, что это округлённое "сегодня"  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
muk07
select cast(cast(getdate() as int) as datetime) - сегодня,
а оказывается это "завтра"


Оно будет сегодня до 12.00 и завтра после 12.00.
16 дек 13, 17:23    [15300344]     Ответить | Цитировать Сообщить модератору
 Re: я думал, что это округлённое "сегодня"  [new]
muk07
Member

Откуда: Челябинск
Сообщений: 1851
понял, благодарю всех ответивших.
16 дек 13, 17:25    [15300353]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить