![]() |
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。也许它能帮助你。
|
![]() |
maddy · 如何根据oracle SQL中的某一列值进行排名 2 年前 |
![]() |
kiric8494 · 显示以元音开头和结尾的城市名称 2 年前 |
![]() |
Franz Biberkopf · Oracle:组合子查询和聚合函数 2 年前 |
![]() |
BitLauncher · 甲骨文-如何模拟位列和布尔和/或? 3 年前 |
![]() |
Arifullah · 如何从oracle中的列中删除特定的初始字符? 3 年前 |
![]() |
Anar · Oracle SQL用户定义函数 3 年前 |
![]() |
user1312312 · 如何为一组表编写通用触发器? 3 年前 |