![]() |
1
9
所以,你想在你的数据库上做一个类似Google的自由文本搜索。这是可以做到的,但表现会很糟糕!谷歌之所以这么快,是因为它的索引上有索引,有重复的数据存储,而且通常会为这种搜索优化一切。
更健壮的实现可能需要处理大小写、整词等。如果您使用10g或更高版本,则正则表达式可能会很有用,但是将regex和动态SQL结合起来是一个,呃, 有趣的 我再说一遍,表演会很烂的!在一个大数据集上。这实际上是不可能调整的,因为我们不能索引每一列,当然也不支持相似或相似的模糊匹配。另一种方法是使用XQuery生成数据的XML表示,然后使用文本对其进行索引。维护这样一个存储库将是一项开销,但是如果您需要定期使用此功能,特别是在生产环境中,那么这项工作将是一项合理的投资。
|
![]() |
2
2
但如果有许多列可以包含此值,则需要使用或:
|
![]() |
3
2
如果不能显式地写入所有可能的列,则应生成 dynamic SQL query metadata . |
![]() |
4
1
如果你需要这样做一次或两次那么APC的答案是好的。如果这是一个正在进行的需求的一部分(不寒而栗),那么我认为最好的方法是在一个或多个感兴趣的表上创建一个Oracle计算字段并搜索该字段。使用您确定不会显示在实际文本值中的分隔符,例如:
(你刚才听到的声音可能是科德在坟墓里旋转的声音) |
![]() |
5
0
选择*from table_name where(table_Attribute='XXX');
|
![]() |
6
-1
运行此命令以获得所需的结果,sry用于错误的命名。
|
![]() |
7
-1
如果需要在数据库中搜索值,但不知道表和/或列,则通常使用此脚本。只需设置@SearcStr参数并按下play。也许它能帮助你。
|
|
Johnny T · 基于当前值的SQL合并表[重复] 3 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 4 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 4 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 4 月前 |
![]() |
Sax · 规范化Google表格(第一步) 4 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 4 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 4 月前 |