【发布时间】:2017-05-17 13:13:23
【问题描述】:
拜托,我在 Oracle 表中有这个文本(作为 2 条记录)
"Sample text with replace parameter %1%"
"You reached 90% of your limit"
我需要用 Oracle 函数中输入参数中的特定文本替换 %1%。事实上,我可以有不止一个替换参数。我也用"Replace this %12% with real value"记录过
我已经编写了这个功能:
IF poc > 0 THEN
FOR i in 1 .. poc LOOP
p := get_param(mString => mbody);
mbody := replace(mbody,
'%' || p || '%', parameters(to_number(p, '99')));
END LOOP;
END IF;
但在这种情况下,我的文本编号 2 有问题。此功能也尝试替换“90%”,然后我收到此错误:
ORA-06502: PL/SQL: numeric or value error: NULL index table key value
可以避免尝试替换“90%”吗?非常感谢您的建议。
最好的问候
PS:Oracle版本:10g(OCI版本:10.2)
【问题讨论】:
-
是否需要支持多个替换,例如
No %1% exists for this %2%?
标签: regex oracle replace plsql