我有一个场景,我在as400(DB2)上的一个表格上用绿色屏幕上的SQL做了一个选择,并且我使用windows SQL工具。Decimal Fields在来自IBM AS400的窗口上显示负数
通知的undrelined值40229和41158.在DB2侧的场类型是DECIMAL 9.
现在当我在一个窗口运行相同的SQL
出于某种原因,当数据被返回-40229和-41158
:使用SQL工具(IBM(R)的Data Studio)PC这感觉就像是一种溢出,但为什么和什么?
当我浏览到从SQL工具的数据库结构字段类型为:
所以在AS400的字段类型是DECIMAL 9和从Windows方十进制9 ..
为什么在Windows上这是否定的?与该类型有关?
的SQL窗口:select * from maxdtaclb.szciexp where TCNUOR ='129444'
的SQL AS400:select * from maxdtaclb/szciexp where TCNUOR ='129444'
难道全选,其中值小于0拿到了11行结果...
同样,如果我用绿色屏幕上的相同记录的键进行选择,它是负的?
东西我注意到的是,即使我用rpgiv程序从表中提取数据是在rpgiv程序藏汉负..
我相信你可以在该工具中设置很多事物的格式,包括日期(你应该改为使用'* ISO')。我认为它也包含数字?我会先检查一下。我们是否可以看到声明?它只是这一套领域?它只是这一行(我们确定它是同一个,尽管看起来是这样)?你确定你碰到同一张桌子吗(没有在会话中设置'* LIBL'或其他东西)? –
这是完全相同的表和同一行受到影响。唯一奇怪的是,如果我选择另一行的值是正确的(而不是负值),就像我的例子中那样,它只是一些偏离它们而不正确。我将检查* ISO格式.. – Renier
一个正确的例子检查我的as400的第一个图像的值:18919在窗口显示正确的一面,但40229显示负面...这就是为什么我认为像溢出? – Renier