MySQL比较运算符和函数

本文详细介绍了MySQL中三种常用的比较运算符:BETWEEN...AND...、IN()及IS[NOT]NULL的使用方法,并通过具体示例展示了如何判断数值是否在指定范围内、是否在指定列表中以及字段是否为空。

本文重点是三个比较运算符

1 ,[NOT[ BETWEEN ...AND...

2  ,  [NOT] IN()

3  ,  IS [NOT] NULL

例1:BETWEEN...AND..

如果数字A在设定范围之内,返回TRUE,否则返回FAUSE

mysql> SELECT 15 BETWEEN 1 AND 22;
+---------------------+
| 15 BETWEEN 1 AND 22 |
+---------------------+
|                   1 |
+---------------------+
1 row in set (0.01 sec)


mysql> SELECT 35 BETWEEN 1 AND 22;
+---------------------+
| 35 BETWEEN 1 AND 22 |
+---------------------+
|                   0 |
+---------------------+
1 row in set (0.00 sec)

例2: NOT BETWEEN ...AND...

如果数字A不在设定范围之内,返回TRUE,否则返回FAUSE

mysql> SELECT 35 NOT BETWEEN 1 AND 22;
+-------------------------+
| 35 NOT BETWEEN 1 AND 22 |
+-------------------------+
|                       1 |
+-------------------------+
1 row in set (0.00 sec)

mysql> SELECT 15 NOT BETWEEN 1 AND 22;
+-------------------------+
| 15 NOT BETWEEN 1 AND 22 |
+-------------------------+
|                       0 |
+-------------------------+
1 row in set (0.00 sec)

例3:IN,在列出的几个点之内,返回1,否则为0

mysql> SELECT 10 IN (5,10,22,9);
+-------------------+
| 10 IN (5,10,22,9) |
+-------------------+
|                 1 |
+-------------------+
1 row in set (0.00 sec)

mysql> SELECT 13 IN (5,10,22,9);
+-------------------+
| 13 IN (5,10,22,9) |
+-------------------+
|                 0 |
+-------------------+
1 row in set (0.00 sec)

例4:IN,不在列出的几个点之内,返回1,否则为0

mysql> SELECT 13 NOT IN (5,10,22,9);
+-----------------------+
| 13 NOT IN (5,10,22,9) |
+-----------------------+
|                     1 |
+-----------------------+
1 row in set (0.00 sec)

mysql> SELECT 10 NOT IN (5,10,22,9);
+-----------------------+
| 10 NOT IN (5,10,22,9) |
+-----------------------+
|                     0 |
+-----------------------+
1 row in set (0.00 sec)

例5: IS[NOT] NULL 查找为空的字段

先看一张表

mysql> SELECT * FROM testwish;
+------------+-----------+
| first_name | last_name |
+------------+-----------+
| QQ         | 121       |
| AC         | BD        |
| 121        | 725       |
| tom%       | 2016      |
| NULL       | 11        |
+------------+-----------+
5 rows in set (0.00 sec)

mysql> SELECT * FROM testwish WHERE first_name IS NULL;
+------------+-----------+
| first_name | last_name |
+------------+-----------+
| NULL       | 11        |
+------------+-----------+
1 row in set (0.00 sec)

mysql> SELECT * FROM testwish WHERE first_name IS NOT NULL;
+------------+-----------+
| first_name | last_name |
+------------+-----------+
| QQ         | 121       |
| AC         | BD        |
| 121        | 725       |
| tom%       | 2016      |
+------------+-----------+
4 rows in set (0.00 sec)

补充:

mysql> SELECT NULL IS NULL;
+--------------+
| NULL IS NULL |
+--------------+
|            1 |
+--------------+
1 row in set (0.00 sec)

mysql> SELECT 'NULL' IS NULL;
+----------------+
| 'NULL' IS NULL |
+----------------+
|              0 |
+----------------+
1 row in set (0.00 sec)

mysql> SELECT 0 IS NULL;
+-----------+
| 0 IS NULL |
+-----------+
|         0 |
+-----------+
1 row in set (0.00 sec)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值