1
PROVINCE -- varchar(25) 

SELECT * FROM listings WHERE PROVINCE='Bakersfield'

当存在以贝克斯菲尔德为省的条目时,返回空结果集

我很不确定为什么。当我删除WHERE它的作品。

顺便说一句,我在 phpmyadmin 中运行它,它允许执行 SQL 语句

在 phpmyadmin 中,它在等号下方显示 ...。我不确定为什么。这可能是一个暗示。

4

3 回答 3

2

如果

SELECT * FROM listings WHERE PROVINCE like '%Bakersfield%'

为您工作,然后您的数据中有空格。你可以删除它们

update listings
set PROVINCE = trim(PROVINCE)

修剪()

之后,您应该检查插入数据的代码。检查为什么插入了空格并修复它。

于 2013-06-14T09:05:58.813 回答
1

改变你等于运营=LIKE

SELECT * FROM listings WHERE PROVINCE LIKE 'Bakersfield'

这应该可以解决您的问题。如果您想查找包含您的字符串的位置,只需用通配符将其包围%..%

SELECT * FROM listings WHERE PROVINCE LIKE '%Bakersfield%'
于 2013-06-14T09:03:12.080 回答
1
SELECT * FROM listings WHERE PROVINCE='Bakersfield'

如果以下情况不是问题,那么 abpve 查询不起作用是没有意义的。

1)如果情况是问题,则使用上或下

SELECT * FROM listings WHERE upper(PROVINCE)=upper('Bakersfield');

2)如果额外的空间是问题使用替换或修剪

SELECT * FROM listings WHERE replace(PROVINCE,' ','') ='Bakersfield'

如果没有的话,可能会有其他seniario,然后按照其他人的建议使用“Like”关键字。:)

于 2013-06-14T09:10:44.900 回答