首页 > 解决方案 > 如何在oracle中找到2个逗号分隔的列之间不匹配的字符串

问题描述

如何在oracle中找到2个逗号分隔的列之间不匹配的字符串

弦 1:苹果、香蕉弦 2:香蕉、橙子

我需要得到结果中的苹果

标签: oraclecsv

解决方案


SELECT RESULT, RESULT FROM (
SELECT LISTAGG(DATA,',')  WITHIN GROUP (ORDER BY DATA)RESULT FROM  (
SELECT REGEXP_SUBSTR ('APPLE,BANANA','[^' || ',' || ']+',1,LEVEL)DATA FROM DUAL
CONNECT BY LEVEL <= LENGTH ('APPLE,BANANA') - LENGTH (REPLACE ('APPLE,BANANA', ',')) + 1
MINUS
SELECT REGEXP_SUBSTR ('BANANA,ORANGE','[^' || ',' || ']+',1,LEVEL)DATA FROM DUAL
CONNECT BY LEVEL <= LENGTH ('BANANA,ORANGE') - LENGTH (REPLACE ('BANANA,ORANGE', ',')) + 1))

RESULT                         RESULT                        
------------------------------ ------------------------------
APPLE                          APPLE                         

推荐阅读