PROVINCE -- varchar(25)
SELECT * FROM listings WHERE PROVINCE='Bakersfield'
当Bakersfield作为省的条目存在时,返回空结果集
我很不确定为什么。当我删除WHERE
时,它就可以了。
BTW我在phpmyadmin中运行它,它允许一个人执行SQL语句
在phpmyadmin中,它显示在等号下面。我不知道为什么。这可能是一个暗示。
答案 0 :(得分:2)
如果
SELECT * FROM listings WHERE PROVINCE like '%Bakersfield%'
适合您,那么您的数据中就有空格。您可以使用
删除它们update listings
set PROVINCE = trim(PROVINCE)
请参阅TRIM()
之后,您应该检查插入数据的代码。检查插入空格的原因并进行修复。
答案 1 :(得分:1)
将您等同于=
改为LIKE
运营商
SELECT * FROM listings WHERE PROVINCE LIKE 'Bakersfield'
这应该可以解决您的问题。如果您想查找包含字符串的地方,只需使用通配符%..%
SELECT * FROM listings WHERE PROVINCE LIKE '%Bakersfield%'
答案 2 :(得分:1)
SELECT * FROM listings WHERE PROVINCE='Bakersfield'
如果以下情况不是问题,那么abpve查询就没有用了。
1)如果是概率,则使用上限或下限
SELECT * FROM listings WHERE upper(PROVINCE)=upper('Bakersfield');
2)如果问题是额外的空间,请使用replace或Trim
SELECT * FROM listings WHERE replace(PROVINCE,' ','') ='Bakersfield'
如果没有,可能会有其他感恩节,然后使用其他人建议的“赞”关键字。 :)