→

MySQL →  Немного о NULL-ах

Наверняка все знают о таком понятии в SQL как NULL.

NULL — это не 0, это не 1, это не пустая строка. NULL обозначает что на данный момент неизвестно какое значение хранится в базе данных.

Теперь маленькое исследование.

1. Что будет результатом логической операции

FALSE OR NULL


Поскольку неизвестно, чем именно является NULL — TRUE или FALSE, результат запроса тоже неизвестный, поэтому результат этой операции — NULL

2. Что будет результатом логической операции

TRUE OR NULL


Поскольку один из операндов логической операции — TRUE, то независимо от значения второго операнда результат операции будет TRUE. MySQL следует этой логике и выдает результат — TRUE

3. Что будет в результате арифмитической операции

0*NULL


Можно было бы легко следовать логике, аналогичной второму вопросу и прийти к тому что в результате будет 0. Но как показала практика у MySQL на этот счет своя логика. Результат этой операции будет NULL.

Вот такая арифметика.
2
5