PHP скрипты

MySQL

Apache

phpMyADmin

2.13: Работа со значениями NULL в таблице MySQL

Главная Страница » Книги по PHP » MySQL уроки для начинающих с нуля » Работа со значениями NULL в таблице MySQL

Значение NULL может удивлять, пока вы не привыкнете к нему. По своей концепции, NULL означает отсутствие средств для оценки значения или просто неизвестное (неопределенное) значение, и оно обрабатывается несколько подругому, чем обычные значения.

Для проверки на NULL вы не можете использовать арифметические операторы, например =, < или != (не равно). Чтобы показать это, попробуйте следующий запрос:

mysql> SELECT 1 = NULL, 1 != NULL, 1 < NULL, 1 > NULL;
+----------+-----------+----------+----------+
| 1 = NULL | 1! = NULL | 1 < NULL | 1 > NULL |
+----------+-----------+----------+----------+
| NULL     | NULL      | NULL     | NULL     |
+----------+-----------+----------+----------+

Очевидно, что никакого толку от таких сравнений нет и не будет. Используйте взамен операторы IS NULL и IS NOT NULL:

mysql> SELECT 1 IS NULL, 1 IS NOT NULL;
+-----------|---------------|
| 1 IS NULL | 1 IS NOT NULL |
+-----------|---------------|
| 0         | 1             |
+-----------|---------------|

В MySQL 0 или NULL означает false (ложь) в логических операциях, а все остальное значит true (истину). Заданное по умолчанию значение истины в булевых (логических) операциях равно 1.

Эта специальная обработка NULL является причиной того, почему в предыдущем разделе было необходимо определить, какие животные умерли, используя именно death IS NOT NULL вместо death!=NULL.

Поделиться с друзьями