MySQL like子句允許通配符搜索,如'%keyword%'
其中關鍵字夾在列值內。MySQL字符串模式匹配 - 類似於
進行模式匹配,其中關鍵字包含列值的一部分,當%keyword%
將無法正常工作,我們可以使用INSTR
函數來進行搜索。
例子:
Column="Apple"
$keyword = "An Apple a day"
在這裏,我們不能做Column like '%$keyword%'
進行匹配,但(INSTR('$Keyword', Column)>0
會做匹配。
有什麼替代方案(正則表達式?,全文搜索?,lucene?)我們有其他比INSTR模式匹配這種情況(例子?)嗎?
更新:
Column = "Golden Apple"
$keyword = "An Apple a day"
即使是這樣的樣品,我想可以,因爲他們有一個共同的術語「蘋果」,以配合柱的$關鍵字。
如果Column =「Golden Apple」,這將不起作用。如果搜索詞和列都有一些匹配的字符,而不考慮位置,則會成爲問題。我會更新我的問題以反映這種情況。 –
你的意思是你甚至想要'蘋果派'與'金蘋果'相匹配? –
準確!我想匹配他們,如果他們有任何連續匹配字符的集合。 –