2011-09-11 41 views
0

我有一堆文本字段,我需要搜索#&,但我不想包含#&39;,因爲幾乎每行都有。MySql選擇喜歡的地方,不包括?

有沒有辦法找到#& blah blah;而不是每個'

我試圖做類似

SELECT * FROM `content_type_mobile_event` WHERE `field_movie_desc_value` RLIKE "^(&#)"; 

但沒有奏效

+1

'#&blah blah;'或'&#blah blah;'? – Shef

回答

1

嘗試:

SELECT * 
    FROM `content_type_mobile_event` 
    WHERE `field_movie_desc_value` 
    LIKE '&#%' 
    AND `field_movie_desc_value` 
NOT LIKE ''%'; 

這將返回在列,其價值field_movie_desc_value開始與記錄&#,但不以'開頭。

0

你簡單地嘗試:

SELECT * FROM `content_type_mobile_event` WHERE `field_movie_desc_value` like "%#&" AND 
WHERE `field_movie_desc_value` not like "#&39" 
+1

如果子字符串位於值的末尾,那麼Double'WHERE'子句和'like「%#&」'匹配,這不是OP的代碼的作用。 – Shef

0

你能不能只是做了LIKE和NOT LIKE?

SELECT * FROM `content_type_mobile_event` 
WHERE `field_movie_desc_value` NOT LIKE '%#&39;%' 
AND `field_movie_desc_value` LIKE '%#&'"; 
+0

子句'RLIKE「^(&#)」'檢查子字符串是否在值的開始。而'%#&39;%'將在任何地方匹配,'%#&'將在值的末尾匹配。 – Shef