为什么我得到“数据映射错误的[SQL0802]数据转换”异常?
发布时间:2021-01-26 15:50:26 所属栏目:MsSql教程 来源:网络整理
导读:我对iseries / DB2不太熟悉.但是,我在一个使用它作为主数据库的网站上工作. 最近在现有表中添加了一个新列.当我通过AS400查看它时,我看到以下数据类型: Type: SLength: 9Dec: 2 这告诉我这是一个数字字段,小数点前有6位数字,小数点后2位数字. 当我使用简
我对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”.这怎么可能呢?当尝试将无效数据添加到该列时,数据库是否应该抛出异常? 有什么方法可以解决这个问题,例如在我的查询中过滤掉那些不良记录吗? 解决方法“4 O”表示0x40,它是空格或空白字符的EBCDIC代码,是放入记录中任何新空间的默认值.传统程序/操作可能会引入十进制数据错误.例如,如果使用带有FMTOPT(* NOCHK)选项的CPYF命令创建并填充新文件. 解决它的最简单方法是编写HLL程序(RPG)来读取文件并更正记录. (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |