П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 186575 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 88317 раз(а).

Учебник HTML.
Просмотров 79984 раз(а).

Руководство по PHP5.
Просмотров 50416 раз(а).

Хостинг через призму DNS.
Просмотров 58246 раз(а).

Подборка текстов стандартных документов.
Просмотров 49375 раз(а).

Учебник PHP - Самоучитель
Просмотров 56243 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 57670 раз(а).

Внешние атаки...
Просмотров 47073 раз(а).

Учебник PHP.
Просмотров 41269 раз(а).

SSI в примерах.
Просмотров 31609 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Глава 3. Учебное пособие по MySQL
Пред. След.

3.3.4. Выборка информации из таблицы
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 |
+-----------+---------------+

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

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

Два NULL-значения считаются одинаковыми в GROUP BY.

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

Обратите внимание, что в MySQL 4.0.2 - 4.0.10, NULL-значения всегда возвращались в первую очередь, вне зависимости от сортировки.


Назад Начало Главы Начало Раздела Начало Подраздела Вперед

Пред. Глава След. Глава
Глава 2. Установка MySQL Начало Книги Глава 4. Администрирование баз данных


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru