簡體   English   中英

LIKE function 用於用戶定義的字符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM