MySQL between 操作符

时间:2019-02-04 12:52:25  来源:igfitidea点击:

MySQL BETWEEN 操作符用于在SELECT,INSERT,UPDATE或DELETE语句中检索某个范围内的值。

语法

MySQL中BETWEEN条件的语法为:

expression BETWEEN value1 AND value2;
参数说明
expression要检测的值(列或者计算值)
value1,value2这些值创建一个包含范围。expression将与之进行比较的

说明
MySQL BETWEEN条件将返回expression值在value1和value2(包括)范围内的记录。
如果用 MySQL BETWEEN 来比较日期,那么需要确保已使用CAST函数将值转换为日期。

MySQL between 操作符示例

示例-使用 mysql between 来比较数字

下面的示例将使用BETWEEN来检索数字范围内的值。

SELECT *
FROM contacts
WHERE contact_id BETWEEN 100 AND 200;

这个示例将返回contacts表中所有contact_id在100到200之间(包括200和200)的行。

它等效于以下SELECT语句:

SELECT *
FROM contacts
WHERE contact_id >= 100
AND contact_id <= 200;

示例-使用 mysql between 来比较日期

将MySQL BETWEEN与Dates一起使用。需要使用CAST函数将值显式转换为日期。

SELECT *
FROM order_details
WHERE order_date BETWEEN CAST('2017-05-02' AS DATE) AND CAST('2018-01-18' AS DATE);

该示例将返回order_details表中所有order_date满足条件的记录。

它等效于以下SELECT语句:

SELECT *
FROM order_details
WHERE order_date >= CAST('2017-05-02' AS DATE)
AND order_date <= CAST('2018-01-18' AS DATE);

示例-NOT 和between 一起使用

MySQL BETWEEN运算符也可以与NOT运算符结合使用。 表示取BETWEEN AND 范围的补集。

SELECT *
FROM suppliers
WHERE supplier_id NOT BETWEEN 2000 AND 2999;

将从供应商表中返回所有供应商编号不在2000到2999(包含)之间的行。

它等同于以下SELECT语句:

SELECT *
FROM suppliers
WHERE supplier_id < 2000
OR supplier_id > 2999;