mysql - mysql中的from和to范围
问题描述
目前我有这种查询
SELECT
part_number,
part_name,
attenuation_low_end,
attenuation_high_end,
optimum_fermentation_temp_f_low,
optimum_fermentation_temp_f_high
FROM
yeast_module
WHERE
category = 3
AND
(
( `attenuation_low_end` > '31' OR `attenuation_low_end` = '31' )
AND
( `attenuation_high_end` < '40' OR `attenuation_high_end` = '40' )
)
我试图获取范围为low to high end
from的记录31 and maximum of 40
正如您所注意到的,它似乎不会将数据返回31
到40
我这样做对吗?
更新
我期待没有回报,因为 31-40 之间没有数据
解决方案
您正在比较字符串,它执行字典比较而不是数字比较。您需要转换为数字。添加0
到数字字符串是将其转换为数字的简单方法。
WHERE 0+attenuation_low_end >= 31 AND 0+attenuation_high_end <= 40
推荐阅读
- php - 更改 PHP 序列化数据中所有唯一键的值
- python - Pandas json_normalize 然后选择列与创建字典然后应用 json_normalize
- html - 无法在视频上对齐文本
- c# - 排序列表,除了一个带有 LINQ 的条目,排在最后
- mongodb - Mongodb 文档验证失败,代码为 121
- xcode - 包含多个二进制框架(包装 C 库)的 Swift 包
- database - Mongo db 没有启动
- azure - 天蓝色政策“修改”效果与补救
- shell - Gitlab 作业因 while 循环而失败
- datagrid - 我可以阻止人们在 ag-Grid 中编辑特定单元格吗?