我创建了一个简单的mysql表,如this
models列采用VARCHAR(30)
但是当我执行此查询时
SELECT *
FROM `Vehicle_Duty_Chart`
WHERE models = "SE3P"
LIMIT 0 , 30
它返回此
MySQL returned an empty result set (i.e. zero rows). (Query took 0.0004 sec)
我给出的'模型'列值的结果是一样的。对于像
这样的查询 WHERE ins =7000
返回所需的输出。 我不知道我在这里做错了什么。
谢谢。
答案 0 :(得分:4)
试试这个:
SELECT *
FROM `Vehicle_Duty_Chart`
WHERE TRIM(models) = "SE3P"
LIMIT 0 , 30
答案 1 :(得分:0)
尝试使用以下查询
SELECT * FROM Vehicle_Duty_Chart WHERE models LIKE '%SE3P%' LIMIT 0 , 30
答案 2 :(得分:0)
如果您的模型字段中有一些不需要的空白,您可能需要为所有记录剪掉它。请确保您可以在所有 Vehicle_Duty_Chart 模型上丢失前导和尾随空格。
UPDATE `Vehicle_Duty_Chart` SET `models` = TRIM(`models`);
在此之后,您的字符串比较查询应该可以工作,而无需为每个查询调用 trim。
如果 models 列包含多个由逗号或其他分隔符分隔的值,您可能希望将查询更改为更像 Nikul 的答案。