我用 MySQL 5.1.4,带有utf8_general_ci
使用查询
时,我得到了正确的答案SELECT code, searchString FROM places WHERE searchString LIKE "%45%" LIMIT 15
或
SELECT code, searchString FROM places WHERE searchString LIKE "%km" LIMIT 15
但是当我使用查询时
SELECT code, searchString FROM places WHERE searchString LIKE "45%" LIMIT 15
我有来自mysql的回复:MySQL返回一个空的结果集。
我的表包含带有前导符号“45xxx”
的值"43014000" "745 km"
"50022000" "Base N 45"
"54008000" "45 km"
我如何解决这个问题?
更新:p.s。最初由于从外部文件导入错误而导致问题
答案 0 :(得分:1)
当您运行选择查询时,该列中可能存在一些未显示的前导空格,我之前看到过这样的问题。
作为解决方法,您可以TRIM()
列,这将删除前导空格,然后进行搜索:
SELECT code, searchString
FROM myTable
WHERE TRIM(searchString) LIKE '45%'
LIMIT 15;
答案 1 :(得分:-1)
问题在于解决
SELECT code, searchString FROM places WHERE searchString LIKE "_45%" LIMIT 15
返回正确的结果