Oracle SQL REGEXP用于在列之间查找值,而不管其位置如何

布鲁斯

我在表的两个不同列中有以下数据集。我需要检查两列之间的BB%值是否匹配。

A栏 B栏
BB12,AA13,CC24 AA13,BB12,CC24
BB99,AA34,CC78 AA34,CC78,BB77
AA22,BB33,CC77 AA22,BB33,BB44,CC77

我最初尝试使用下面的REGEXP。但这仅在A列中的BB值始终位于位置1且B列中的位置始终为2时才有效。但是我需要REGEXP来检查第2行和第3行方案的内容。

REGEXP_SUBSTR(ColumnA, '\w+', 1, 1) <> REGEXP_SUBSTR(ColumnB, '\w+', 1, 2)
MDO

你可以试试这个

select COLUMNA, COLUMNB
from your_table t
where regexp_substr(COLUMNA, 'BB[^,]*', 1, 1) != regexp_substr(COLUMNB, 'BB[^,]*', 1, 1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章