我有一个问题,列在非空十进制字段中有空值。当使用该列时(比如在case语句中),问题就出现了,而不是当我简单地执行select*from时。
它出现的错误是sql0802类型6—无效的数字数据。我能够找到其中一些并修复它,但我想从这个非常大的表中获得所有这些的列表。
但是,无论何时我使用它,它都会给我一个错误。这就是我一直在尝试的:
SELECT *
FROM (
SELECT keycol_1, keycol_2,
IFNULL(badcol, -1) AS badcol_tmp
FROM mytable
) WHERE badcol_tmp = -1
(请注意,列不应该有负数,这就是为什么我在这里使用-1)。这将产生上面列出的错误。
我也试过了
SELECT *
FROM mytable
WHERE badcol IS NULL
但这并没有给我任何结果。。。没有错误,但没有行。但是我在滚动所有数据时看到它是空的。
如何在badcol中获得空值列表?
1条答案
按热度按时间7d7tgy0s1#
问题不在于值为null,如果是这样,那么
会有用的。问题是字段中的数据不是数字。
如果你的系统保持最新,那么恭喜你!ibm在最新的tr中为7.3和7.4添加了一些验证实用程序。
否则,请尝试以下操作(对于2位分区号码):