我想为Stack Exchange Data Explorer创建一个查询,该查询返回包含特殊字符的任何标记。 (具体而言,任何不是a-z
,0-9
,-
或+
的字符
搜索应返回c#,c#-to-f#,.net和python-2.7等标记。
我尝试了一些不同的解决方案,但每个解决方案似乎都有自己的问题。
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
答案 0 :(得分:1)
而不是试图在SQL中短语“仅包含非特殊字符”并且否定它,而是更容易用短语“包含特殊字符”:
.
您会发现其中包含批次包含SELECT * FROM tags WHERE tagname LIKE '%[^-+a-z0-9.]%'
的标签。您可能希望将此字符添加到要忽略的字符中。
{{1}}