我想知道,当我们使用“介于”时,SQL 标准或 MySQL 是否存在差异。更准确地说,如果我这样做,在 SQL 标准中:
A between 1 and 10
是否等于:
1 <= A and A <= 10
-- or
1 < A ans 1 < 10
MySQL中的结果是否相同。
我想知道,当我们使用“介于”时,SQL 标准或 MySQL 是否存在差异。更准确地说,如果我这样做,在 SQL 标准中:
A between 1 and 10
是否等于:
1 <= A and A <= 10
-- or
1 < A ans 1 < 10
MySQL中的结果是否相同。
expr 介于最小值和最大值之间
如果 expr 大于或等于 min 并且 expr 小于或等于 max,则 BETWEEN 返回 1,否则返回 0。这相当于表达式 (min <= expr AND expr <= max) 如果所有参数都是同类型。否则,类型转换将根据第 12.2 节“表达式求值中的类型转换”中描述的规则进行,但适用于所有三个参数。
它清楚地指出1 到 10 之间的 A将等于1 <= A 和 A <= 10
在 MySQL 中
让“employee_tbl”表包含员工姓名、daily_typing_pages 列。
+------+------+------------+--------------------+
| id | name | work_date | daily_typing_pages |
+------+------+------------+--------------------+
| 1 | John | 2007-01-24 | 250 |
| 2 | Ram | 2007-05-27 | 220 |
| 3 | Jack | 2007-05-06 | 170 |
| 3 | Jack | 2007-04-06 | 100 |
| 4 | Jill | 2007-04-06 | 220 |
| 5 | Zara | 2007-06-06 | 300 |
| 5 | Zara | 2007-02-06 | 350 |
+------+------+------------+--------------------+
如果我们在这个表上运行以下查询:
SELECT * FROM employee_tbl
WHERE daily_typing_pages BETWEEN 170 AND 300;
查询产生以下输出:
+------+------+------------+--------------------+
| id | name | work_date | daily_typing_pages |
+------+------+------------+--------------------+
| 1 | John | 2007-01-24 | 250 |
| 2 | Ram | 2007-05-27 | 220 |
| 3 | Jack | 2007-05-06 | 170 |
| 4 | Jill | 2007-04-06 | 220 |
| 5 | Zara | 2007-06-06 | 300 |
+------+------+------------+--------------------+
这意味着作品之间具有包容性。结果包括170和300的数据。
在 MSSQL 中
让“产品”表包含产品数据,包括产品名称、价格等。
ProductID ProductName Price
1 Chais 18
2 Chang 19
3 Aniseed Syrup 10
5 Chef Anton's Gumbo Mix 21.35
4 Chef Anton's Cajun Seasoning 22
如果我们在这个表上运行以下查询:
SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20;
查询产生以下数据,包括 between 子句中给出的价格。
ProductID ProductName Price
1 Chais 18
2 Chang 19
3 Aniseed Syrup 10
所以在 MSSQL 之间就像 MySQL 一样具有包容性。
你可以看看这个:http ://www.tutorialspoint.com/mysql/mysql-between-clause.htm
还有这个