【问题标题】:Find tags containing characters that aren't [a-z] or [0-9]查找包含非 [a-z] 或 [0-9] 字符的标签
【发布时间】:2017-07-28 18:59:34
【问题描述】:

我想为 Stack Exchange 数据资源管理器创建一个查询,该查询返回任何包含特殊字符的标签。 (具体来说,任何不是a-z0-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附近的语法不正确

【问题讨论】:

    标签: c# c#-to-f# .net python-2.7 sql tsql dataexplorer


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-03-12
      • 2019-11-22
      • 2011-06-13
      • 1970-01-01
      • 2012-08-05
      • 1970-01-01
      • 2019-12-10
      • 2020-04-13
      • 1970-01-01
      相关资源
      最近更新 更多