Запуск булевых выражений в Postgres - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь продемонстрировать разницу между тем, как ruby ​​и postgres трактуют нулевое равенство.

Например, в ruby ​​я запускаю nil == nil и получаю true. Я хочу попробовать выполнить тот же тип запроса в postgres и показать, что null = null имеет значение false, но не уверен, как его структурировать.

В качестве альтернативы покажите, что значение null = null равно true, а значение null! = Null также равно true.

Ответы [ 2 ]

3 голосов
/ 05 апреля 2019
select null = null;
 ?column?
----------

(1 row)

Это не ложно и не верно, но неопределенно.

1 голос
/ 05 апреля 2019

Почти любая оценка против нуля в postgres будет возвращать ноль (если не считать некоторых функций, таких как concat()). Чтобы вернуть логическое значение при оценке нуля, вы должны использовать IS NULL

Это вернет True: SELECT NULL IS NULL

Это вернет False: SELECT NULL IS NOT NULL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...