2010-08-17 74 views
4

由於像這樣一個錶行:查找有一個字段是搜索字符串的子

 
id  | value 
------------------- 
1  |  food 
2  |  foot 
3  |  barfoo 
4  |  bar 
5  |  baz 

使用的是Postgres我想找到所有行的其中值字段從的開頭匹配搜索字段。有點像SELECT * FROM table where 'foo' ilike value%

尋找'富'會返回食物和腳,但不是barfoo。

我認爲這應該很容易,但我錯過了一些明顯的東西。

回答

3

不應比較切換

where value ilike 'foo%' 

編輯

  • 更改爲不區分大小寫「 ilike「,每個原始示例。

這麼多SQL方言,灰色的存儲空間太小了。

+0

+1:這是第一個正確的答案。 – 2010-08-17 21:35:29

+0

雖然您可能想將「like」改爲「ilike」,以匹配問題。 – 2010-08-18 13:52:24

+0

謝謝,你已經正確地回答了這個問題,我剛纔注意到我雖然問了錯誤的問題。沒關係。 – dsas 2010-08-20 06:40:22

0

你有論據ILIKE南轅北轍:

SELECT * FROM table where value ilike 'foo%' 
相關問題