0

我想为 Stack Exchange Data Explorer 创建一个查询,该查询返回任何包含特殊字符的标签。(具体来说,任何不是a-z, 0-9, -, 或的字符+

等标签。

我尝试了几种不同的解决方案,但每个解决方案似乎都有自己的一系列问题。


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

来源Oracle SQL - REGEXP_LIKE 包含 az 或 AZ 以外的字符

错误REGEXP_LIKE不是可识别的内置函数名称。


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

资料来源如何在 MySQL 中获取包含 [a-zA-Z] 以外的字符的所有行

错误:附近的语法不正确REGEXP

4

1 回答 1

1

与其尝试在 SQL 中短语“仅包含非特殊字符”并否定它,不如短语“包含特殊字符”更容易:

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

您会发现其中包含很多包含.. 您可能希望将其添加到要忽略的字符中。

SELECT * FROM tags WHERE tagname LIKE '%[^-+a-z0-9.]%'
于 2017-07-28T19:16:25.900 回答