Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
Упрощённый вариант процедуры: Код: sql 1. 2. 3. 4. будет корректно работать? Пробую - работает. Но я имею в виду корректность данной реализации в целом. MSSQL 2005. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 11:39 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
shanton, если устраивает такое SELECT CAST('' as date) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 11:47 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
А не проще перед запросом SET ANSI_NULLS OFF , и потом просто сравнивать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 11:52 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
Akina А не проще перед запросом SET ANSI_NULLS OFF , и потом просто сравнивать? В будущих версиях собираются убрать данную настройку. И не хочется изменять поведение SQL в целом, чтобы не затронуть то что уже работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 12:02 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
TaPaK shanton, если устраивает такое SELECT CAST('' as date) такое не устраивает. Но у меня пустых значений не может быть. Может быть два варианта: NULL или конкретная дата. Просто можно было написать иначе, например: Код: sql 1. или ещё как-то. Если разницы нет, то нечего и думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 12:10 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
shanton, Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 12:17 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
shanton, автор Но у меня пустых значений не может быть. конкретная дата 01/01/1900? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 12:20 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
shanton, почему нет разницы? В Вашей транскрипции невозможно использовать индексную оптимизацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 12:28 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
shanton В будущих версиях собираются убрать данную настройку. И не хочется изменять поведение SQL в целом, чтобы не затронуть то что уже работает. Да и при чём тут "поведение SQL в целом"? я ж вроде вменяемо сказал - OFF, запрос, обратно ON. На один запрос. А если в очередной версии уберут, и вдруг вы на неё перейдёте - так всего и делов один запрос переписать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 13:16 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
Akina я ж вроде вменяемо сказал - OFF, запрос, обратно ON. На один запрос. угу, на каждый, где есть сравнение с null = null Akina А если в очередной версии уберут, и вдруг вы на неё перейдёте - так всего и делов один запрос переписать. см. выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 13:30 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
Akina shanton В будущих версиях собираются убрать данную настройку. И не хочется изменять поведение SQL в целом, чтобы не затронуть то что уже работает. Да и при чём тут "поведение SQL в целом"? я ж вроде вменяемо сказал - OFF, запрос, обратно ON. На один запрос. А если в очередной версии уберут, и вдруг вы на неё перейдёте - так всего и делов один запрос переписать. Да, и самое главное. В случаях индексов по вычисляемым колонкам или индексированным вью, ansi_nulls off не поможет. В примере ниже, индекс по вычисляемой колонке dt2 не может быть использован из-за set ansi_nulls off Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 13:50 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
Ну тогда только переписывать как Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 13:59 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
Akina Ну тогда только переписывать как Код: sql 1. 2. 3. 4. 5. 6. Выше же показали способ сравнивать invm Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 14:01 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
msLex Akina Ну тогда только переписывать как Код: sql 1. 2. 3. 4. 5. 6. Выше же показали способ сравнивать invm Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 14:08 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
iap msLex пропущено... Выше же показали способ сравнивать пропущено... Ссылка на меня же меня опровергает: https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=309733&msg=2829696 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 14:14 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
invm Код: sql 1. в 2005-м работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 14:15 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
shanton invm Код: sql 1. в 2005-м работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 14:17 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
iap shanton пропущено... в 2005-м работает. Хмм, с вычисляемыми полями интерсект тоже не очень то работает Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 14:27 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
все чудесатее и чудесатее (с) А так, работает Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 14:34 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
msLex все чудесатее и чудесатее (с) Просто в первом случае в предикаты подставляется dt1 вместо dt2, поэтому и не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 15:08 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
invm msLex все чудесатее и чудесатее (с) Просто в первом случае в предикаты подставляется dt1 вместо dt2, поэтому и не работает. Это понятно. Не понятно, почему в первом случае не может использовать индексированный dt2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 15:09 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
msLex Не понятно, почему в первом случае не может использовать индексированный dt2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 15:15 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
invm msLex Не понятно, почему в первом случае не может использовать индексированный dt2 Так же (предикат по dt1, вместо dt2) происходит при set ansi_nulls off, но про это хоть явно указано в доке, а тут... Хотя, может, это и не связанные вещи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 15:23 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
msLex, От настройки ansi_nulls зависит используемость индекса. А подмена столбца в предикате нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 15:59 |
|
||
|
Условие сравнения по дате с возможными NULL-значениями
|
|||
|---|---|---|---|
|
#18+
shanton, Если вас беспокоит скорость и оптимальность, то напишите Код: sql 1. ибо ISNULL чего-то сжирает А вот это будет хуже Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2019, 17:27 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39885690&tid=1687002]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
67ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 420ms |

| 0 / 0 |
