2013-04-25 59 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開始。取決於你想要做什麼。