我有一個包含2種不同類型的產品引用的一個非常簡單的MySQL數據庫表中的一個VARCHAR列:Mysql的像含wildcart給人意想不到的結果
一個樣:14521_451_288,和其他人一樣45742154
到能夠管理它們,我正在使用以下代碼:
WHERE ref LIKE '%_%'
但是,所有結果都會返回,即使是沒有下劃線的引用。我在這裏錯過了什麼基礎?
我有一個包含2種不同類型的產品引用的一個非常簡單的MySQL數據庫表中的一個VARCHAR列:Mysql的像含wildcart給人意想不到的結果
一個樣:14521_451_288,和其他人一樣45742154
到能夠管理它們,我正在使用以下代碼:
WHERE ref LIKE '%_%'
但是,所有結果都會返回,即使是沒有下劃線的引用。我在這裏錯過了什麼基礎?
_表示LIKE表達式中的任何一個字符。這就是你返回所有值的原因。你需要逃避_角色。
試試這個:
WHERE ref LIKE '%\_%';
參考:
嘗試使用
where ref <> instr('_') > 0
因爲_
代表在like
表達任何單字符而%
表示任意字符小號中的表達。
_表示LIKE表達式中的任何一個字符。這就是你返回所有值的原因。你需要逃避_角色。 –