我需要这些字符与oracle sql中的以下字符串分隔。
PQ 局域网 存款准备金
R_RR_RX PQ-LAN-RRR(FYZ)
答案 0 :(得分:0)
很难识别数据中的模式,因为您仅为其提供了一个值。我在正则表达式中进行了一些假设,它将特别以破折号作为所需的标记,提取破折号周围的字母或数字,并忽略其他所有内容。如果这不是您想要的,请提供更多数据示例和预期结果,并简要说明规则是什么。
无论如何,这是我的尝试:
FSITJA@db01 2019-07-18 11:42:38> select regexp_replace('R_RR_RX PQ-LAN-RRR (FYZ)', '^[[:alnum:]_]+ +([[:alnum:]]+)-([[:alnum:]]+)-([[:alnum:]]+).*', '\1 \2 \3')
2 from dual;
REGEXP_REP
----------
PQ LAN RRR