Как сравнить две арабские строки в оракуле? - PullRequest
0 голосов
/ 28 мая 2019

У меня есть две строки:

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

или

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

или

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

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

и у меня уже есть данные в базе данных

Что я пробовал до сих пор:

Как я могу сравнить их и вернуть истину? я не могу собрать все дела

Ответы [ 3 ]

1 голос
/ 28 мая 2019
SELECT * FROM DUAL
WHERE a = b;

Будет возвращена строка, если они равны, и строки не будут равны.

0 голосов
/ 28 мая 2019

Вы можете использовать оператор сравнения = или функцию SQL Oracle DECODE для сравнения значений.

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

select decode('على' ,'علي', 'same', 'different') from dual;
0 голосов
/ 28 мая 2019

Вы можете использовать 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...