2017-07-28 72 views
0

我想爲Stack Exchange Data Explorer創建一個查詢,該查詢返回任何包含特殊字符的標籤。 (具體地講,任何字符不是a-z0-9-,或+查找包含非[a-z]或[0-9]字符的標籤

搜索將返回標籤,如,和

我試過幾種不同的解決方案,但每個解決方案似乎都有自己的一套問題。


SELECT * FROM tags WHERE tagname NOT REGEXP '^[a-zA-Z0-9]*$' 

來源Oracle SQL - REGEXP_LIKE contains characters other than a-z or A-Z

錯誤REGEXP_LIKE是無法識別的內置函數名稱。


SELECT * FROM tags WHERE tagname NOT REGEXP '^[a-zA-Z0-9]*$' 

來源How to get all rows that contain characters others than [a-zA-Z] in MySQL

錯誤:近REGEXP

回答

1

而不是試圖語不正確的語法 「僅包含非特殊字符」 中的SQL和否定那句「包含特殊字符」更容易:

SELECT * FROM tags WHERE tagname LIKE '%[^-+a-z0-9]%' 

你會發現,這包含的含.標籤一個很多。您可能希望將其添加到要忽略的字符中。

SELECT * FROM tags WHERE tagname LIKE '%[^-+a-z0-9.]%' 
相關問題