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
Add your own comment.