2013-04-25 56 views
0

我有一个查询使用LIKE搜索邮政编码。现在,如果有人将完整的邮政编码放入邮政编码SW14 4NP。但是如果有人投入SW1,它将返回SW1 +结果。我怎样才能让这个如果有人把SW1,这将只显示SW1邮编,不SW11,SW14等PHP MYSQL使用LIKE搜索邮政编码

我的查询是:

SELECT postcode FROM data WHERE postcode LIKE '$search%' 

的邮政编码数据库存储为SW14 4NP等与一个空间。

+0

请提供样品表数据 – Omesh 2013-04-25 13:23:06

+0

感谢您的答复,eggyal的回答是更适合,因为它有更多的灵活性。我忘了提及我有一些函数来验证它是一个完整的邮编还是一个外部邮编。我只是无法让查询只显示基于外部邮编的结果。谢谢大家的答案,因为他们都做得很好。 – Sygon 2013-04-25 13:30:34

回答

3
SELECT postcode FROM data WHERE postcode LIKE '$search %' 

通过简单地添加搜索关键字后的空格。这时就会发现所有的SW1代码(或任何你正在寻找),但不是SW11

+0

假设数据存储在正确放置的空间中。 – eggyal 2013-04-25 13:22:32

+3

但是,如果指定了完整的邮政编码,这将不起作用。 – Nerdwood 2013-04-25 13:23:28

1
SELECT postcode 
FROM data 
WHERE postcode LIKE 'SW1 %' 
0
SELECT postcode FROM data WHERE postcode LIKE '$search %' 

但说用户只插入SW,它会返回任何结果,而与当前的查询将返回任何东西从SW开始。取决于你想要做什么。