【发布时间】:2010-10-09 19:43:21
【问题描述】:
如果我用 HQL 编写
A between 5 and 10
是否等同于
A >= 5 and A <= 10
或
A > 5 and A < 10
或其他 4 种组合?
【问题讨论】:
如果我用 HQL 编写
A between 5 and 10
是否等同于
A >= 5 and A <= 10
或
A > 5 and A < 10
或其他 4 种组合?
【问题讨论】:
我在 Hibernate 文档中没有找到任何行为规范,但是 HQL 中的 between 运算符被转换为 SQL 中的 between 运算符,这是包容性的。
所以HQL中的between也是包容的,即
A between 5 and 10
等价于
A >= 5 and A <= 10
【讨论】:
between 是专有的。它从 Glue 3 变为包容性。
显然,对此存在一些混淆。自然语言会暗示它是排他性的,但事实并非如此。实际上它的 A >= 5 和 Ahttp://www.techonthenet.com/sql/between.php)
Example #1 - Numbers
The following is an SQL statement that uses the BETWEEN function:
SELECT *
FROM suppliers
WHERE supplier_id between 5000 AND 5010;
This would return all rows where the supplier_id is between 5000 and 5010, inclusive. It is equivalent to the following SQL statement:
SELECT *
FROM suppliers
WHERE supplier_id >= 5000
AND supplier_id <= 5010;
【讨论】: