Справочное руководство по MySQL версии 4.0.11-gamma

         

6.3.1.3 Логические операторы


6.3.1.3 Логические операторы

Все логические операторы дают в результате значения 1 (ИСТИНА), 0 (ЛОЖЬ) или NULL (неустановленное, которое в большинстве случаев принимается как ЛОЖЬ):

NOT
!
Логическое НЕ. Возвращает 1, если операнд равен 0, в противном случае - 0. Исключение: NOT NULL определяется как NULL:
mysql> SELECT NOT 1;
-> 0




mysql> SELECT NOT NULL; -> NULL mysql> SELECT ! (1+1); -> 0 mysql> SELECT ! 1+1; -> 1
Последний пример дает 1, поскольку данное выражение вычисляется тем же способом, что и (!1)+1.
OR
||
Логическое ИЛИ. Возвращает 1, если любой из операндов не равен ни 0, ни NULL:
mysql> SELECT 1 || 0;
-> 1
mysql> SELECT 0 || 0;
-> 0
mysql> SELECT 1 || NULL;
-> 1
AND
&&
Логическое И. Для операндов, значение которых не равно NULL, дает 1, если оба операнда ненулевые, и 0 - в противном случае. Возвращает NULL, если один из операндов равен NULL:
mysql> SELECT 1 && 1;
-> 1
mysql> SELECT 1 && 0;
-> 0
mysql> SELECT 1 && NULL;
-> NULL