连字符之间的单独字符串

时间:2019-07-18 17:26:11

标签: sql oracle substr regexp-substr

我需要这些字符与oracle sql中的以下字符串分隔。

PQ 局域网 存款准备金

R_RR_RX PQ-LAN-RRR(FYZ)

1 个答案:

答案 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