gpt4 book ai didi

sql - 需要根据单词列表在 Teradata SQL 中搜索文本字段并返回该单词

转载 作者:行者123 更新时间:2023-12-05 01:11:59 24 4
gpt4 key购买 nike

我正在一个大型数据库中搜索长度在 5-7 个字符之间的单词列表。到目前为止,我有:

Select *
from sometable
Where upper("Description") like any ("%ABC_123%", "%ABC_124%", "%DE_25%")

我还想返回在查询中找到的单词,但在不重复 subtr 函数中的单词列表的情况下如何做到这一点。

可能有更好的方法可以做到这一点,我会很感激一些方向。

最佳答案

正如 Rob Paller 已经提到的,TD14 中有正则表达式:

Select sometable.*,
REGEXP_SUBSTR(Description,'((ABC_)(123|124)|(DE_(25)))') AS match
from sometable
Where match <> '';

这应该比数百个 LIKE 更有效。

此外,这可能会被简化,例如如果您需要 ABC_ 或 DE_ 后跟任意两位或三位数字:

       REGEXP_SUBSTR(Description,'(ABC_|DE_)([0-9]{2,3})') AS match

关于sql - 需要根据单词列表在 Teradata SQL 中搜索文本字段并返回该单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12586193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com