BETWEEN
用于在 WHERE
子句中选择两个值之间的数据范围。
如果我正确,范围的端点是被排除还是包含取决于数据库管理系统。
以下内容让我无法理解:
如果我有一个值表格并执行以下查询:
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';
我没有获取以字母 O
开头的 food_name
行。即,这个范围的末尾是不包括在内的。
为了使查询按预期工作,我输入:
SELECT food_name
FROM health_foods
WHERE food_name BETWEEN 'G' AND 'P';`
我的问题是为什么在数字和文本数据中使用 BETWEEN
有如此大的区别?