ХОСТИНГ

99mb.ru

ТАРИФЫРЕГИСТРАЦИЯСТАТЬ ПАРТНЕРОМПОДДЕРЖКА

Документация MySQL


3.3.4.5 Вычисление дат Оглавление 3.3.4.7 Сравнение по шаблонам


3.3.4.6 Работа с значениями NULL

К 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 | +-----------+---------------+

Отметим, что два значения NULL считаются равными при выполнении команды GROUP BY.

В MySQL 0 или NULL приравнивается к логическому false, а все остальное - к true. По умолчанию значение "истина" для булевого оператора равно 1.

При выполнении команды ORDER BY значения NULL всегда располагаются в самом начале списка результатов, даже при использовании параметра DESC.

Именно из-за того, что при работе с NULL действуют особые правила, в предыдущем разделе для поиска умерших животных использовалось выражение death IS NOT NULL, а не death <> NULL.


3.3.4.5 Вычисление дат Оглавление 3.3.4.7 Сравнение по шаблонам


Документация Apache
Документация MySQL
Документация PHP






Всего за $ 9,99 в месяц Вы получаете качественный хостинг, множество полезных сервисов и возможность участия в партнерской программе.

Зарабатывайте на нас деньги!

 

Также только у нас Вы можете воспользоваться уникальной акцией: