Ermak1
@Ermak1
Web-dev

MySQL WHERE NOT IN пропускает NULL?

В таблице table есть поле status которое может иметь значение NULL.

SELECT * FROM `table` WHERE `status` NOT IN ('cancel', 'finished', 'failed');

Данный запрос не вернет поля где status имеет значение NULL, пока явно не укажешь OR status IS NULL.

Баг или фича?

Вопрос скорее для собственного понимания логики такой реализации условия WHERE NOT IN.
  • Вопрос задан
  • 174 просмотра
Решения вопроса 1
bitniks
@bitniks
Go/PHP/Symfony developer
Это не баг. Сравнение с NULL дает неопределенный результат, поэтому нельзя проверить равенство/неравенство с NULL обычными средствами
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы