在where子句-MySQL中获取字符串值
我创建了一个简单的mysql表,如 模型列采用VARCHAR(30) 但是当我执行这个查询时在where子句-MySQL中获取字符串值,mysql,sql,database,Mysql,Sql,Database,我创建了一个简单的mysql表,如 模型列采用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) 我给出的“models”列值的结果是相同的。对于像这样的查询 WHERE ins
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)
我给出的“models”列值的结果是相同的。对于像这样的查询
WHERE ins =7000
返回所需的输出。
我不知道我做错了什么
多谢各位 试试这个:
SELECT *
FROM `Vehicle_Duty_Chart`
WHERE TRIM(models) = "SE3P"
LIMIT 0 , 30
试试这个:
SELECT *
FROM `Vehicle_Duty_Chart`
WHERE TRIM(models) = "SE3P"
LIMIT 0 , 30
尝试下面的查询
SELECT * FROM Vehicle_Duty_Chart WHERE models LIKE '%SE3P%' LIMIT 0 , 30
尝试下面的查询
SELECT * FROM Vehicle_Duty_Chart WHERE models LIKE '%SE3P%' LIMIT 0 , 30
如果“模型”字段中有一些不需要的空白,则可能需要为所有记录将其删除。确保您在所有车型上都没有前导和尾随空格
UPDATE `Vehicle_Duty_Chart` SET `models` = TRIM(`models`);
在此之后,字符串比较查询应该可以工作,而无需为每个查询调用trim
如果“模型”列包含多个由逗号或其他分隔符分隔的值,则可能需要将查询更改为更像Nikul的答案。如果“模型”字段中有一些不需要的空格,则可能需要对所有记录将其删除。确保您在所有车型上都没有前导和尾随空格
UPDATE `Vehicle_Duty_Chart` SET `models` = TRIM(`models`);
在此之后,字符串比较查询应该可以工作,而无需为每个查询调用trim
如果models列包含多个由逗号或其他分隔符分隔的值,您可能希望将查询更改为更像Nikul的答案。什么是
像'SE3P%'这样的模型返回的位置?
返回相同的输出。“空结果集”尝试使用“模型”列周围的修剪来检查它是否包含空白。使用修剪可以提供所需的输出。我猜是空白问题,像'SE3P%'这样的模型返回什么?
相同的输出。“空结果集”尝试使用“模型”列周围的修剪来检查它是否包含空白。使用修剪可以提供所需的输出。这是空白问题,我猜“SE3P”在引起问题之前或之后包含空白。TRIM()删除尾部和后面的空格“SE3P”包含导致问题的前后空格。TRIM()删除后面和后面的空格