gpt4 book ai didi

sql - Oracle:跨多个列的 "grep"?

转载 作者:行者123 更新时间:2023-12-02 07:53:42 26 4
gpt4 key购买 nike

我想在多个列中执行likeregexp。这些列包含标签、关键字等。等同于:

sqlplus scott/tiger @myquery.sql | grep somestring

现在我有类似的东西

select * from foo where c1 || c2 || c3  like '%somestring%'

但我希望我能得到一些更通用和/或优化的东西。任何线索表示赞赏!

最佳答案

您是否考虑过使用 Oracle Text 的串联数据存储特性?

Oracle Text 允许您在同一个表中的多个列上创建全文索引。或者至少有一个流程可以让您做到这一点。

我以前使用过的 Oracle 站点上有一个很好的示例文档:

http://www.oracle.com/technology/sample_code/products/text/htdocs/concatenated_text_datastore/cdstore_readme.html

Oracle Text 搜索速度快得离谱。我想我会考虑在每个单独的列上保留单独的上下文索引,以便您可以将相关性和优先级应用于每个列匹配。

如果您想要一个示例,请告诉我,我会在答案中添加一些内容。

希望这对您有所帮助。

关于sql - Oracle:跨多个列的 "grep"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2161011/

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