在 Informix 中解码的代码修复

Code fix for decode in Informix

本文关键字:代码 解码 Informix      更新时间:2023-10-16

我在 Informix 数据库中使用解码函数。我正在检索一个整数数据类型的字段。如果我检索到的值是''那么我需要将其设置为 null;如果不是,我正在设置相同的值。

我试过这样:

decode(table1.field1,'',NULL,table1.field1)

但是我收到以下错误

相应的类型必须在 CASE 表达式中兼容。

我很困惑如何从数据库中检索值 - 作为 null 或 0 或 -1 或其他什么。我需要这样做吗?

decode(table1.field1,'',0,table1.field1)

如何解决它

这里有一些混乱。 由于table1.field1是 INTEGER 列,因此它永远不会包含空字符串。 它将包含 NULL 或有效的整数值;所以根本不需要更新。

你为什么认为你可能会''? 你必须选择INTEGER列到一个字符串变量中——如果你的编程语言区分了类型的话。 否则,空字符串很可能是编程语言表示 null 的方式。