【发布时间】:2013-10-16 17:03:39
【问题描述】:
我想要一个返回两个字符串中单词的连续匹配数的查询 示例:
表格
Id column1 column2 result
1 'foo bar live' 'foo bar' 2
2 'foo live tele' 'foo tele' 1
3 'bar foo live' 'foo bar live' 0
获取我正在使用的总出现次数:
select id, column1,column2,
extractvalue(dbms_xmlgen.getxmltype('select cardinality (
sys.dbms_debug_vc2coll(''' || replace(lower(column1), ' ', ''',''' ) || ''') multiset intersect
sys.dbms_debug_vc2coll('''||replace(lower(column2), ' ', ''',''' )||''')) x from dual'), '//text()') cnt
from table.
任何人都可以建议在类似行上查询顺序匹配,因为我希望同时显示顺序匹配的数量和出现的数量。
【问题讨论】:
-
您使用的是什么版本的 Oracle?
-
你会考虑使用自定义函数来解决这个问题吗?
-
是的,我可以试试用户定义的函数
-
@Przemyslaw Kruglej :- 你能建议如何通过用户定义的函数来实现同样的功能
-
从上述数据中你想要的结果是什么?
标签: sql oracle stored-procedures