BETWEEN
節で使用して、WHERE
2 つの値の間のデータ範囲を選択します。
範囲のエンドポイントが除外されているかどうかが正しければ、DBMS 固有です。
以下で理解できないこと:
値のテーブルがあり、次のクエリを実行した場合:
SELECT food_name
FROM health_foods
WHERE calories BETWEEN 33 AND 135;`
クエリは、カロリー =33 とカロリー =135を含む行を結果として返します (つまり、範囲エンドポイントが含まれます)。
しかし、もしそうなら:
SELECT food_name
FROM health_foods
WHERE food_name BETWEEN 'G' AND 'O';
で始まる行を取得できません。つまり、範囲の終わりは除外されます。
クエリが期待どおりに機能するようにするには、次のように入力します。food_name
O
SELECT food_name
FROM health_foods
WHERE food_name BETWEEN 'G' AND 'P';`
BETWEEN
私の質問は、なぜ数字とテキストデータにそのような違いがあるのですか?