Informix中解码的代码修复

时间:2012-10-12 14:49:17

标签: c++ mysql sql informix

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

我试过这样:

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

但是我收到以下错误

  

对应的类型必须与CASE表达式兼容。

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

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

如何解决它

1 个答案:

答案 0 :(得分:3)

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

为什么你认为你可能会得到''?如果您的编程语言区分类型,则必须将INTEGER列选择为字符串变量。否则,空字符串可能是编程语言表示空值的方式。