gpt4 book ai didi

sql - 避免在 DB2 中将 String 转换为 Integer 时出错

转载 作者:行者123 更新时间:2023-12-02 09:30:35 25 4
gpt4 key购买 nike

我想选择一个定义为 VARCHAR 的列,作为 INTEGER像这样:

SELECT ID, CAST(Col1 as INT) as MyOutput FROM MyTABLE

问题是当列的格式无效(无法转换为整数)时,我想将它们设置为 NULL .有没有办法在 DB2 中做到这一点?

最佳答案

实现此目的的一种方法是编写您自己的处理格式异常的转换函数,例如

create or replace function to_int_safe (str varchar(20)) 
returns int
deterministic
no external action contains sql
begin
declare continue handler for sqlstate '22018' -- on conversion error
return null;
return cast(str as int);
end

然后在您的查询中使用它:
SELECT ID, to_int_safe(Col1) as MyOutput FROM MyTABLE

关于sql - 避免在 DB2 中将 String 转换为 Integer 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33518419/

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