web-dev-qa-db-ja.com

HQLのbetweenは厳密に比較されますか?

hQLで書いたら

A between 5 and 10

と同等です

A >= 5 and A <= 10

または

A > 5 and A < 10

または4つの組み合わせの他のいくつか?

34
flybywire

Hibernateのドキュメントで動作の仕様は見つかりませんでしたが、HQLのbetween演算子はSQLのbetween演算子に変換されます。

したがって、HQLのbetweenも包括的です。つまり、

A between 5 and 10

と同等です

A >= 5 and A <= 10
42
Dan Berindei

明らかに、これに関していくつかの混乱があります。自然言語はそれが排他的であることを示唆しますが、これは真実ではありません。実際には、そのA> = 5およびA <= 10です。与えられた(そして削除された)すでに矛盾する答えがあったので、より明確にする必要があります:(から http://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;
3