【发布时间】:2020-01-29 22:46:57
【问题描述】:
我创建了一个在表中插入/更新记录的函数。 数据作为参数传递给函数。 在处理整数/浮点数/双字段时面临问题。例如, 我已将 Empno 字段声明为 Int(根据目标表结构)。 所以我想当一个空值出现时,我使用强制转换函数转换为“0”。 但它甚至不接受 NULL 值,因为它被声明为 Int。 我应该将声明更改为 varchar 然后转换吗? 我该怎么办 ?请帮忙
我得到的错误是运算符不存在:文本整数 42883
示例代码:
create function test (text[])
declare
companycode varchar(4);
empno varchar(10);
begin
L_1 := $1[1];
L_2 :=cast(NULLIF($1[2],0) as int);
update and insert statement ...
end;
【问题讨论】:
-
您好,能否请您发布您编写的函数的代码?
-
强制转换不会将 NULL 转换为零。
-
已更新示例代码
标签: sql postgresql postgresql-9.1