这里我试图为默认值为null的变量赋值。例如,如下例所示。
示例:
create or replace function fun(va varchar)
returns void as
$$
declare
var1 varchar := null;
begin
var1 := var1 || va;
raise notice '%',var1;
end;
$$
language plpgsql;
调用函数:
select fun('abc');
输出:
NOTICE: <NULL>
注意:我无法将output
作为abc
?
答案 0 :(得分:3)
与null
的任何串联都会产生null
,因此'abc'||null
为null
。
如果您希望abc
作为输出,则必须将var1
初始化为空字符串:
var1 varchar := '';
另一种可能的解决方案是使用忽略空值的concat()
,因此concat('abc',null')
会返回'abc'