[英]LIKE function for user-defined characters
我正在構建一個測試來突出顯示帶有非法字符的數據,其中非法字符是用戶定義的。
所以我有類似的東西
SELECT col
FROM db
WHERE col LIKE '%[^<legal chars>]%'
通常,當<legal chars>
包含特殊字符時,我可以使用ESCAPE
。
但是,這里的legal chars
可以是任何字符(例如, a-zA-Z0-9
和/或^
、 [
、 \
、 *
),所以無論我選擇什么特殊字符,它都可能是legal chars
。
有誰知道我應該如何處理這個問題?
如果要使用正則表達式,請不要使用like
。 使用regexp
:
where col regexp $whatever
我建議您在客戶端構建正則表達式。 但是你可以在 MySQL 中這樣做:
where col regexp concat('[', $whatever, ']')
但是,您需要小心正則表達式特殊字符,例如\
和-
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.