【发布时间】:2013-03-21 04:47:33
【问题描述】:
BETWEEN 在WHERE 子句中用于选择两个值之间的数据范围。
如果我是正确的,是否排除范围的端点是 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 开头。 IE。范围的末尾被排除。
为了让查询按预期工作,我输入:
SELECT food_name
FROM health_foods
WHERE food_name BETWEEN 'G' AND 'P';`
我的问题是,为什么 BETWEEN 对于数字和文本数据会有如此大的差异?
【问题讨论】:
标签: mysql sql numbers varchar between