【发布时间】:2017-02-26 09:11:55
【问题描述】:
是否可以使用 Oracle 中的 REGEXP_REPLACE 函数将多次出现的模式替换为子字符串。我尝试了正则表达式的多重排列和组合,但不知何故它没有正确工作。从表面上看,它看起来可行,但不是很确定.. 任何想法或尝试的指针。下面的示例输入/输出
INPUT_STRING = SELECT @DATA:T.ID:ID@, @DATA:T.NAME:NAME@, @DATA:T.ADDRESS:ADDRESS@, @DATA:T.CREATED_DATE:CREATED_DATE@ FROM TABLE_NAME T
OUTPUT_STRING = SELECT T.ID ID, T.NAME NAME, T.ADDRESS ADDRESS FROM TABLE_NAME T
本质上,我们需要在固定模式下实现
@DATA:xx.yy:zz@, where xx is table, yy is column name, zz column alias
- 从字符串的开头删除 @DATA:
- 去掉字符串末尾的@
- 用空格替换:
【问题讨论】:
标签: oracle oracle11g regexp-replace regexp-substr