gpt4 book ai didi

java - Oracle nvl 需要将 null 插入数字字段

转载 作者:可可西里 更新时间:2023-11-01 08:41:24 26 4
gpt4 key购买 nike

这是我正在运行的删除脚本的后备脚本。这是我用来生成插入语句的查询。

select 'insert into remark_element(ELEMENTID, 
REMARKID,
VALUE,
POSITION,
INFO_TYPE,
SCRIPTID)
values('||elementid||',
'||remarkid||',
'''||nvl(value,'null')||''',
'||position||',
'||nvl(info_type,null)||',
'||nvl(scriptid,null)||''||')'
from remark_element
where elementid in(....

这是查询的结果:

insert into remark_element(ELEMENTID,
REMARKID,
VALUE,
POSITION,
INFO_TYPE,
SCRIPTID)
values(29650520,
20263860,
'0/877-426-6251-A',
1,,);

运行此代码会出现 ORA-00936:由于 info_type 和 scriptid 字段为空,因此缺少表达式,它们都是数字并且可以为空。我需要生成的查询来说明

insert into remark_element(ELEMENTID, 
REMARKID,
VALUE,
POSITION,
INFO_TYPE,
SCRIPTID)
values(29650520,
20263860,
'0/877-426-6251-A',
1,
null,
null);

当 info_type 和 scriptid 为空时。我尝试执行 nvl(info_type,'null') 但得到 ORA-01722:尝试将字符串放入数字字段的数字无效。当 info_type 或 scriptid 为 null 时,我如何操作它以 null 而不是 , 返回

最佳答案

由于您的输出最终是一个字符串,只需使用 to_char 将您的列转换为字符串,将两个 nvl 参数都设为字符串即可:

nvl(to_char(info_type), 'null')

关于java - Oracle nvl 需要将 null 插入数字字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33358325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com