MySQL 中的运算符(二)

逻辑运算符逻辑运算符又称为布尔运算符,用来确认表达式的真和假。MySQL支持4种逻辑运算符,如表1-1所示。

MySQL中的逻辑运算符

●““NOT”或“!”表示逻辑非。返回和操作数相反的结果:当操作数为0(假),则返回值为1,否则值为0。但是有一点除外,那就是NOT NULL的返回值为NULL,这一点请大家注意。

如下例所示:

mysql> select not 0, not 1, not null ;

+-------+-------+----------+

| not 0 | not 1 | not null |

+-------+-------+----------+

| 1 | 0 | NULL |

+-------+-------+----------+

1 row in set (0.00 sec)

●““AND”或“&&”表示逻辑与运算。当所有操作数均为非零值并且不为 NULL 时,计算所得结果为1,当一个或多个操作数为0时,所得结果为0,操作数中有任何一个为NULL则返回值为NULL。

如下例所示:

mysql> select (1 and 1),(0 and 1) ,(3 and 1 ) ,(1 and null);

+-----------+-----------+------------+--------------+

| (1 and 1) | (0 and 1) | (3 and 1 ) | (1 and null) |

+-----------+-----------+------------+--------------+

| 1 | 0 | 1 | NULL |

+-----------+-----------+------------+--------------+

1 row in set (0.00 sec)

●“OR”或“||”表示逻辑或运算。当两个操作数均为非 NULL 值时,如有任意一个操作数为非零值,则结果为 1,否则结果为0。当有一个操作数为NULL时,如另一个操作数为非零值,则结果为1,否则结果为NULL。假如两个操作数均为NULL,则所得结果为NULL。

如下例所示:

mysql> select (1 or 0) ,(0 or 0),(1 or null) ,(1 or 1),(null or null);

+----------+----------+-------------+----------+----------------+

| (1 or 0) | (0 or 0) | (1 or null) | (1 or 1) | (null or null) |

+----------+----------+-------------+----------+----------------+

| 1 | 0 | 1 | 1 | NULL |

+----------+----------+-------------+----------+----------------+

1 row in set (0.00 sec)

●“XOR”表示逻辑异或。当任意一个操作数为NULL时,返回值为NULL。对于非NULL的操作数,如果两个的逻辑真假值相异,则返回结果1;否则返回0。

如下例所示:

mysql> select 1 xor 1 ,0 xor 0,1 xor 0,0 xor 1,null xor 1;

+---------+---------+---------+---------+------------+

| 1 xor 1 | 0 xor 0 | 1 xor 0 | 0 xor 1 | null xor 1 |

+---------+---------+---------+---------+------------+

| 0 | 0 | 1 | 1 | NULL |

+---------+---------+---------+---------+------------+

1 row in set (0.00 sec)

\


尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程


关住“BlankLB”,可以免废获超多编程资料源码课件

猜你喜欢

转载自blog.csdn.net/lghtdw1314/article/details/123890943