SQL:如何在Oracle中将类似的探测值视为相同?

时间:2017-07-27 18:24:37

标签: sql oracle

我在Oracle中有一个特殊的要求。 表格中有一列具有不同的值,但声音类似于ex:Limited,Ltd,Ltd。等等。但我需要对待它们,并且不应将其视为不同的值。 我尝试使用Decode,如下所示,但这里的值是我们不知道的值。以下只是一个例子。

Create table test_dup(col1 varchar2(25));

Insert into test_dup values('limited');
Insert into test_dup values('ltd.');
Insert into test_dup values('Inc');
Insert into test_dup values('incorporate');

Select distinct decode(col1, 'limited', 1, 'ltd.', 1, 'Inc', 2, 'incorporate', 2) from dual;

当值已知时,但在我的要求中,值是未知的。

请帮我解决这个问题。

提前致谢, Savitha

1 个答案:

答案 0 :(得分:0)

我已经找到了通过Oracle-SQL实现这一目标的方法。它是通过UTL_MATCH包。

从DUAL中选择utl_match.JARO_WINKLER_SIMILARITY(' LTD。',#39; LIMITED')

此致 Savitha