plsql - PL/SQL 中用于 varchar 处理的 NVL 与 NVL2

标签 plsql nvl

我想在字符串处理中使用NVL2函数,例如

some_variable := nvl2 (other_variable, '.' || other_variable, '');

为此我收到错误

PLS-00201:必须声明标识符“NVL2”

令人惊讶的是,有效:

some_variable := nvl(other_variable, '');

除了使用 if-then-end 之外还有什么帮助吗?

谢谢 一月

最佳答案

据此link nvl2 仅适用于 SQL,不适用于 PLSQL

您可以像下面这样使用

select nvl2 (other_variable, '.' || other_variable, '') into some_variable from dual;

关于plsql - PL/SQL 中用于 varchar 处理的 NVL 与 NVL2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55040919/

相关文章:

oracle - 替换 Oracle 包的一部分

php - 比较两个 SQL 查询结果集

sql - 为什么 NVL 总是评估第二个参数

sql - NVL 功能

SQL 使用 NVL 替换 NULL,在正确检查 where 子句中的替换值时出现问题

oracle - 从给定字符串中提取子字符串

Oracle PL/SQL : Forwarding whole row to procedure from a trigger

oracle - 这些 PL/SQL 变量初始化是否等效?

sql - 检查将 nvl2 与多个分组依据一起使用