【问题标题】:Teradata: Best way to search items using wildcardTeradata:使用通配符搜索项目的最佳方式
【发布时间】:2019-03-12 17:12:05
【问题描述】:

我正在尝试使用这样的 where 子句搜索项目:

SELECT *
FROM TABLE
WHERE ITEMID LIKE '%[0-9][abc][0-9]%'

我想要实现的是检索具有itemID 的数据,其字母仅为'a''b''c',以字母数字值中间的数字开头和结尾。

例如,不应检索'337Z112',因为它不是'a''b''c'

其他示例是'edcb9a9b',应该检索它,因为它包含'9a9'

提前致谢!

【问题讨论】:

    标签: sql teradata


    【解决方案1】:

    在 Teradata 中,您需要使用 REGEXP_SIMILAR() 与正则表达式进行比较:

    SELECT *
    FROM mytable
    WHERE RegExp_Similar(itemid, '.*\d[abc]\d.*', 'i') = 1;
    

    注意:\d[0-9]digits 字符类)的快捷方式

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-12
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      • 1970-01-01
      • 2017-07-25
      • 1970-01-01
      相关资源
      最近更新 更多