我想在多个列中执行like
或regexp
。这些列包含标签、关键字等。等同于:
sqlplus scott/tiger @myquery.sql | grep somestring
现在我有类似的东西
select * from foo where c1 || c2 || c3 like '%somestring%'
但我希望我能得到一些更通用和/或优化的东西。任何线索表示赞赏!
最佳答案
您是否考虑过使用 Oracle Text 的串联数据存储特性?
Oracle Text 允许您在同一个表中的多个列上创建全文索引。或者至少有一个流程可以让您做到这一点。
我以前使用过的 Oracle 站点上有一个很好的示例文档:
Oracle Text 搜索速度快得离谱。我想我会考虑在每个单独的列上保留单独的上下文索引,以便您可以将相关性和优先级应用于每个列匹配。
如果您想要一个示例,请告诉我,我会在答案中添加一些内容。
希望这对您有所帮助。
关于sql - Oracle:跨多个列的 "grep"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2161011/