2015-11-10 59 views
1

MySQL的錶款videoPHP的MySQL將在條件

id | path 
4 | 89_1232 
6 | 90_2121 

我需要之前下劃線_匹配path。例如8990。是否有可能與MySQL查詢。

現在什麼我做的是,獲取所有行,然後爆炸 path

"SELECT `path` FROM `video` 

然後foreach() { explode and check }

+1

'path LIKE「%'。 $值。 '_「' –

+0

我擔心你在一列中放了兩個單獨的數據,考慮將它們分成兩列,然後你可以獨立地索引和匹配所有的部分。如果你需要,你總是可以選擇連接原始顯示 – Arth

回答

3

Use LIKE with wildcards

例子:

SELECT `path` FROM `video` WHERE `path` LIKE '89\_%' ESCAPE '\' 

這將搜索行wi th 89_{anything},使用反斜槓\作爲轉義字符(以確保下劃線_是文字)

+0

實際上下劃線表示除非被轉義,否則任何字符之一 – Arth

+0

更新回答 - 是否正確? – Ben

+2

我還要指出,由於這是字符串的最左邊部分,它仍然可以使用索引該列..這就是爲什麼我會通過SUBSTRING_INDEX使用此方法。 – Arth