如何在oracle中比较两个阿拉伯字符串?

时间:2019-05-28 13:11:26

标签: sql oracle oracle11g

我有两个字符串:

a = 'على';
b = 'علي';

a = 'محمد';
b ='محــــــــــمد';

a= 'بُنْ'
b='بن'

a= 'يسرا'
b='يسرى'

我已经在数据库中了

到目前为止,我已经尝试过:

如何比较它们并返回true? 我无法收集所有案件

3 个答案:

答案 0 :(得分:1)

SELECT * FROM DUAL
WHERE a = b;

如果相等则返回一行,不相等则不返回行。

答案 1 :(得分:0)

您可以使用UTL_MATCH,特别是子程序UTL_MATCH.EDIT_DISTANCE_SIMILARITY()

SELECT CASE 
    WHEN UTL_MATCH.EDIT_DISTANCE_SIMILARITY('على', 'علي') > 75 
    THEN 'Match' ELSE 'No Match' END as "Match Status" 
FROM dual;

答案 2 :(得分:0)

您可以使用比较运算符=或Oracle的SQL函数DECODE来比较值。

select case when 'على' = 'علي' then 'same' else 'different' end from dual;

select decode('على' ,'علي', 'same', 'different') from dual;