powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Требуется ли проверка на null при сравнениях?
9 сообщений из 9, страница 1 из 1
Требуется ли проверка на null при сравнениях?
    #39665247
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В работающей системе в SQL-запросе есть такое условие:
Код: plsql
1.
AND reckoning_date IS NOT NULL AND reckoning_date <= NOW()


Насколько я помню, любое сравнение с null всегда будет давать false, то есть если в поле будет null, то сравнение с текущей датой все равно даст отрицательный результат.
По какой причине в запросе указано reckoning_date IS NOT NULL ? Какие-то подсказки оптимизатору или просто перестраховались?
...
Рейтинг: 0 / 0
Требуется ли проверка на null при сравнениях?
    #39665255
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.любое сравнение с null всегда будет давать false null
...
Рейтинг: 0 / 0
Требуется ли проверка на null при сравнениях?
    #39665257
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NULL значения не хранятся в b_tree индексах. Поэтому если по полю есть индекс и колонка не объявлена как NOT NULL, то индекс может не использоваться. Указание в запросе NOT NULL позволяет использовать индекс при выполнении запроса.
...
Рейтинг: 0 / 0
Требуется ли проверка на null при сравнениях?
    #39665260
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здесь вполне вероятны "подсказки оптимизатору".
Но для для данного фрагмента, вырванного из контекста - сомнительной ценности.

В некоторых обстоятельствах подобное используют с целью рассказать оптимизатору о том,
что не надо отбрасывать вариант плана с использованием индекса, возможно многоколоночного, с включением в него reckoning_date
...
Рейтинг: 0 / 0
Требуется ли проверка на null при сравнениях?
    #39665270
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKadAlibek B.любое сравнение с null всегда будет давать false null unknown
...
Рейтинг: 0 / 0
Требуется ли проверка на null при сравнениях?
    #39665279
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По полю reckoning_date есть обычный индекс (не уникальный, не составной).
То есть я могу смело убирать проверку reckoning_date IS NOT NULL ?
Результат выборки от этого меняться не должен?
...
Рейтинг: 0 / 0
Требуется ли проверка на null при сравнениях?
    #39665325
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.По полю reckoning_date есть обычный индекс (не уникальный, не составной).
То есть я могу смело убирать проверку reckoning_date IS NOT NULL ?
Результат выборки от этого меняться не должен?
результат выборки - не должен .
алгоритм её построения - может .
...
Рейтинг: 0 / 0
Требуется ли проверка на null при сравнениях?
    #39665330
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сравнения достаточно,. is not null ничего не дает
...
Рейтинг: 0 / 0
Требуется ли проверка на null при сравнениях?
    #39665332
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае (любой оператор сравнения, кроме IS NULL) уже подразумевает для колонки NOT NULL
Т.е. если индекс возможен к использованию, он не будет проигнорирован
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Требуется ли проверка на null при сравнениях?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]