Сравнение с NULL в MySQL

Доста често начинаещите администратори на MySQL се сблъскват с проблема с обработката на NULL стойността поради неразбирането им на тази стойност. В тази статия ще се опитаме да разберем какъв вид звяр е тази NULL стойност.

NULL стойност - Специална специална стойност (псевдо стойност) съответства на концепцията за "празно поле" (не съдържа стойности, не е нула, не е празен низ), използвана за запис в поле на таблица на база данни на MySQL.

Основният рейк е погребан само при сравняване на NULL стойността с други стойности по стандартни начини, но нека да го вземем една по една.

Характеристики на стойността NULL в MySQL.

Нека се опитаме да разберем следните примери. Нека сравним NULL с булевата стойност FALSE, с празния низ, с нула, със себе си (т.е. със стойността на NULL) и анализираме резултатите.

Заключение: NULL не е равно на булевата стойност FALSE.

Заключение: NULL не е равно на цяло число нула.

Заключение: NULL не е равно на празния низ

Заключение: NULL не е равно на NULL

Вижда се, че резултатът за всички заявки е един и същ - стойността е NULL. На пръв поглед това изглежда доста странно, но знаем, че по дефиниция стойността NULL представлява просто липсата на каквато и да е стойност и не принадлежи към никакъв тип данни.

Обработка на NULL стойност в MySQL заявка.

Как да се справя с нулева стойност? MySQL базите данни имат специални оператори IS NULL и IS NOT NULL за правилно сравняване на стойности с NULL.

Тази заявка ще върне редове, съдържащи NULL стойност.

И тази заявка ще покаже всички редове, с изключение на редовете, съдържащи NULL стойност.

Не забравяйте, че когато сравнявате която и да е стойност с NULL, резултатът винаги ще бъде NULL.

Следните са невалидни заявки, които няма да се покажатнито един ред.

Това е всичко. Правете валидни извличания от MySQL бази данни, съдържащи NULL.