我对 iseries/DB2 不是很熟悉。但是,我在一个使用它作为主要数据库的网站上工作。
最近向现有表中添加了一个新列。当我通过 AS400 查看时,我看到以下数据类型:
Type: S
Length: 9
Dec: 2
这告诉我这是一个数字字段,小数点前有 6 位,小数点后有 2 位。
当我使用简单的 SELECT ( SELECT MYCOL FROM MYTABLE
) 查询数据时,我可以毫无问题地取回所有记录。但是,当我尝试在同一列上使用 、 或 时,出现以下DISTINCT
异常GROUP BY
:ORDER BY
[SQL0802] Data conversion of data mapping error
我推断至少一条记录包含无效数据——我的 DBA 称之为“空白”或“4 O”。这怎么可能呢?当尝试将无效数据添加到该列时,数据库不应该抛出异常吗?
有什么办法可以解决这个问题,例如过滤掉查询中的那些不良记录?