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)
我正在尝试使用 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)