我在Informix数据库中使用解码功能。我正在检索一个整数数据类型的字段。如果我检索的值是''
,那么我需要将其设置为null;如果不是我设置相同的值。
我试过这样:
decode(table1.field1,'',NULL,table1.field1)
但是我收到以下错误
对应的类型必须与CASE表达式兼容。
我很困惑如何从数据库中检索值 - 作为null或0或-1或其他东西。我需要这样做吗?
decode(table1.field1,'',0,table1.field1)
如何解决它
答案 0 :(得分:3)
这里有一些混乱。由于table1.field1
是INTEGER列,因此它不会包含空字符串。它将包含NULL或有效的INTEGER值;所以根本不需要更新。
为什么你认为你可能会得到''
?如果您的编程语言区分类型,则必须将INTEGER列选择为字符串变量。否则,空字符串可能是编程语言表示空值的方式。