2014-05-15 102 views
1

有沒有一種方法可以通過記錄中任何子字符串的開頭進行搜索?通過字符串中任何單個字的開頭搜索

具體的例子是:

耐克鞋,耐克鞋,鞋Sunick

假設搜索字符串是 'N'。

如果我會在搜索字符串的末尾使用通配符,那麼我只會得到第一條記錄。如果我在兩端都使用wild char,我會得到所有三個記錄。

有沒有辦法只得到前兩個?

也許會在最後使用帶有wild char的字符串進行搜索,其中第二個參數與第一個參數相同,但帶有預先佔用的空間。

喜歡的東西"WHERE field LIKE 'ni%' OR '% ni%'"

+0

和怎麼樣'喜歡 '%NI%''? –

+1

它會返回所有三條記錄,我只想記錄單詞以'ni'開始的記錄,而不記錄ni在詞的中間 –

回答

3

可以使用regular expression要想只匹配開始在單詞邊界的字符串:

WHERE field REGEXP '[[:<:]]ni' 
+0

它的作用,thx Jon。同時我想出了我自己的解決方案,所以你可以看到我不懶:「選擇*從表WHERE(字段LIKE'」。$ desc。「%」或字段像CONCAT('%','「。$ desc_2。 「%'))」。最好的祝福 –

相關問題