【发布时间】:2015-02-27 10:45:37
【问题描述】:
我遇到了问题,在 PWC (9.5.1) 中将 REGEXP_SUBSTR 从 ORACLE 转换为 REG_EXTRACT。
在 Oracle 中我有以下语句:
select
regexp_substr('AA 12345678 * 123','[^' || CHR (9) || ']+', 1,1) FIELD1,
regexp_substr('AA 12345678 * 123','[^' || CHR (9) || ']+', 1,2) FIELD2,
regexp_substr('AA 12345678 * 123','[^' || CHR (9) || ']+', 1,3) FIELD3,
regexp_substr('AA 12345678 * 123','[^' || CHR (9) || ']+', 1,4) FIELD4
from DUAL;
结果:
FIELD1=AA
FIELD2=12345678
FIELD3=*
FIELD4=123
在 PWC 中,我使用类似的正则表达式创建了一个带有 4 个端口的转换:
FIELD1=REG_EXTRACT('AA 12345678 * 123','([^\s]+)', 1,1)
FIELD2=REG_EXTRACT('AA 12345678 * 123','([^\s]+)', 1,2)
FIELD3=REG_EXTRACT('AA 12345678 * 123','([^\s]+)', 1,3)
FIELD4=REG_EXTRACT('AA 12345678 * 123','([^\s]+)', 1,4)
结果:
FIELD1=NULL
FIELD2=NULL
FIELD3=NULL
FIELD4=NULL
为什么我在 FIELD[1-4] 中得到 NULL 值?谁能帮我解答这个问题?
谢谢!
【问题讨论】:
标签: regex etl informatica informatica-powercenter