Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
ivanyurich123 Member Откуда: Сообщений: 5 |
Подскажите пожалуйста! В таблице Flat есть поле Date. Мне нужно вывести из таблицы только те записи, у которых разница между сегодняшней датой и датой в таблице будет больше трех месяцев. Уже просмотрел все, что мог, но не разобрался. |
7 май 17, 00:05 [20463230] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37155 |
where [дата в таблице] > dateadd( month, -3, getdate() ) |
7 май 17, 00:09 [20463239] Ответить | Цитировать Сообщить модератору |
Aleksey br Member Откуда: Сообщений: 73 |
ivanyurich123, Select * from Table t Where datediff(day, t.date, Getdate())=3 |
7 май 17, 18:27 [20464062] Ответить | Цитировать Сообщить модератору |
Aleksey br Member Откуда: Сообщений: 73 |
ivanyurich123,
Втыканул немного: Select * from Table t Where datediff(month, t.date, Getdate())>3 |
||
7 май 17, 18:31 [20464068] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37155 |
Сообщение было отредактировано: 8 май 17, 00:28 |
||||
7 май 17, 23:31 [20464498] Ответить | Цитировать Сообщить модератору |
Aleksey br Member Откуда: Сообщений: 73 |
Гавриленко Сергей Алексеевич, Ну никто не говорил, чтобы работало как можно быстрее. Но функция как-раз возвращает разницу дат, как и написано в вопросе задания. |
8 май 17, 06:24 [20464738] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47052 |
|
||
8 май 17, 11:25 [20464890] Ответить | Цитировать Сообщить модератору |
waszkiewicz Member Откуда: Сообщений: 1089 |
можно пояснить, почему DATEADD в этом случае годнее? |
||||
8 май 17, 14:20 [20465268] Ответить | Цитировать Сообщить модератору |
o-o
Guest |
да не DATEADD, предикат у Гавриленко date > ...заюзает индекс по date, если он есть, а fn(date) > ...нет |
||||
8 май 17, 15:11 [20465340] Ответить | Цитировать Сообщить модератору |
Mind Member Откуда: Лучший город на Земле Сообщений: 2322 |
Ну и если совсем по честному, то решение Гавриленко тоже работать не будет. Знак сравнения не в ту сторону. |
||||
9 май 17, 01:13 [20466016] Ответить | Цитировать Сообщить модератору |
ivanyurich123 Member Откуда: Сообщений: 5 |
Все большое спасибо. Все получилось!! |
10 май 17, 10:13 [20467932] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |