Запрос активных пользователей возвращает ноль строк, хотя они есть
Удалённые пользователи помечаются датой в deleted_at, у активных там NULL.
SELECT id, email FROM users WHERE deleted_at = NULL;
В таблице тысячи активных пользователей, а запрос не возвращает ни одной строки. Почему?
- Сравнение с NULL через = даёт не TRUE, а NULL — строка не проходит фильтр
- NULL в колонке с датой хранится как нулевая дата, а не как NULL
- Для колонок timestamp сравнение с NULL запрещено и молча игнорируется
- Нужно писать NULL в кавычках: deleted_at = 'NULL'
