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

Откуда:
Сообщений: 1090
where 1=1
and cast(deliverytime as date)=cast(GETDATE() as date)

deliverytime - datetime
мечтается выбрать все записи за сегодня, не взирая на время
25 окт 15, 21:02    [18324199]     Ответить | Цитировать Сообщить модератору
 Re: сравнить datetime значения  [new]
полночь сэр
Guest
waszkiewicz,

подумайте о том, что дата, по которой нужно отфильтровать, известна до селекта
и о том, какие у datetime (который со своим ужасным временем) могут быть крайние значения для конкретной даты.

в конце должны получиться условия без преобразований в where
и бонусом в виде возможности использования индексов по этой дате
25 окт 15, 21:17    [18324254]     Ответить | Цитировать Сообщить модератору
 Re: сравнить datetime значения  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
and deliverytime >= cast(GETDATE() as date)
25 окт 15, 21:25    [18324278]     Ответить | Цитировать Сообщить модератору
 Re: сравнить datetime значения  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
waszkiewicz
мечтается выбрать все записи за сегодня, не взирая на время
Ну вы так и написали в предикате. Он даже саргабельный.
25 окт 15, 21:50    [18324364]     Ответить | Цитировать Сообщить модератору
 Re: сравнить datetime значения  [new]
Mike_za
Member

Откуда: Москва
Сообщений: 1176
invm
waszkiewicz
мечтается выбрать все записи за сегодня, не взирая на время
Он даже саргабельный.

Разве?
25 окт 15, 22:09    [18324416]     Ответить | Цитировать Сообщить модератору
 Re: сравнить datetime значения  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
Mike_za
Разве?
15847969
25 окт 15, 22:23    [18324450]     Ответить | Цитировать Сообщить модератору
 Re: сравнить datetime значения  [new]
Mike_za
Member

Откуда: Москва
Сообщений: 1176
invm, о как! А это на всех версиях скл?
26 окт 15, 01:46    [18324883]     Ответить | Цитировать Сообщить модератору
 Re: сравнить datetime значения  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
Mike_za
invm, о как! А это на всех версиях скл?
То ли с 2008, то ли с 2008R2.
Для меня тоже было приятным сюрпризом, помню -) Правда, привычка писать правильную проверку диапазона так и осталась :-)
26 окт 15, 10:13    [18325525]     Ответить | Цитировать Сообщить модератору
 Re: сравнить datetime значения  [new]
o-o
Guest
Mike_za
invm, о как! А это на всех версиях скл?

на всех версиях не может быть, т.к. date появился в 2008-ом.
но и поиск по индексу datetime с указанием в предикате значения типа date
заложен в том же 2008-ом.
наверное, тип date был так задуман
26 окт 15, 12:38    [18326445]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить