Teradata:使用通配符搜索项目的最佳方式

Teradata: Best way to search items using wildcard

我正在尝试使用 where 子句搜索项目,如下所示:

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

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

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

另一个例子是 'edcb9a9b' 应该被检索,因为它包含 '9a9'.

提前致谢!

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

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

注意:\d[0-9] 的快捷方式( 位数 字符 class)