Сравнение с NULL в SQL

В SQL нельзя в условии запроса (ON, WHERE) сравнивать с NULL. То есть

Все эти запросы не приведут к ожидающимся результатам, а именно, те строки, которые все будут равны NULL (в последнем случае) или не будут ему равны (в первых двух) не попадут в результат.

Более того, в запросе

в выдачу не попадут строки, в которых и SomeColumn, и OtherColumn равны NULL.

Для сравнения с NULL можно использовать только операторы IS NULL и IS NOT NULL.

Например, для последнего примера можно добавить дополнительное условие:

В подобных сравнениях:

NULL выступает не как NULL, а как UNKNOWN, и все указанные выражения вернут только TRUE или FALSE, поэтому их можно использовать для сравнения с NULL, если результат вас устроит.

Например, такое выражение вернет TRUE:

 

Поделиться: Share on LinkedIn0Share on VKShare on Facebook0Share on Google+0Tweet about this on Twitter

Оставить комментарий

Ваш e-mail не будет опубликован.

Яндекс.Метрика