@khodos_dmitry

Почему != 1 или 1 не работает, а IS NULL работает?

В базе есть колонка `del` все значения в ней равны NULL .
Выполняю запросы к БД MySQL.
SELECT `id`, `name`, `url`, `address` FROM `offices` WHERE `del` <> 1

SELECT `id`, `name`, `url`, `address` FROM `offices` WHERE `del` != 1

Ничего не выбирает.
SELECT `id`, `name`, `url`, `address` FROM `offices` WHERE `del` IS NULL

выбирает все.
Почему так?
  • Вопрос задан
  • 78 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что любые арифметические сравнения с NULL всегда дают NULL.
https://dev.mysql.com/doc/refman/8.0/en/working-wi...
Ответ написан
Комментировать
tomnolane
@tomnolane
профессиональный разработчик
working-with-null
Если вкратце: арифметические операции с NULl возвращают NULL (не false, не true), т.к. NULl это ничего
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы