На странице Wikipedia для SQL есть несколько таблиц истинности о логической логике в SQL. [1] На странице Википедии есть источник SQL: 2003.
Таблица истинности оператора equals (=) отличается от оператора IS от проекта SQL: 2003.
Кроме того, статья Википедии отмечает, что "IS NULL" (< null предикат > ) является частным случаем.
В SQL: 2003 кажется, что существует "IS", который является регулярным оператором типа AND, NOT и OR. Однако предикат < null не существует.
Почему существует предикат < null, когда IS является регулярным булевым оператором? Следует ли убедиться, что вы можете использовать конструкцию "IS NULL" с небулевыми значениями без когерентности типа? Не рекомендуется ли использовать "= NULL"?
Работает ли стандарт SQL: 2011 по-разному?
[1]: Википедия на SQL
[2]: SQL: проект 2011 года PDF стр. 335
[3]: Проект SQL: 2003 PDF стр. 397