【发布时间】:2014-04-11 09:52:18
【问题描述】:
我的 db2 版本是 9.5:
我有一个选择查询如下:
select sum(BAL_BOOK_AMT) as sum from mySchema.myTable group by idCol
结果如下:
SUM
---------
0
2,475,000
746,966.091
-627,247.63
我想使用如下查询:
insert into mySchema.myTable1 select sum(bal_book_amt) as sum from mySchema.myTable group by idCol
但是,mySchema.myTable1 中的 SUM 列是 VARCHAR(40) 类型(由于其他原因,我无法将其更改为十进制)。因此,我得到以下错误:
by: com.ibm.db2.jcc.b.nm: DB2 SQL Error: SQLCODE=-408, SQLSTATE=42821
当我尝试以下操作时:
select char(sum(BAL_BOOK_AMT)) as sum from mySchema.myTable group by idCol
值变成:
00000000000000000000000000000.00
00000000000000000000000000000.00
00000000000000000000002475000.00
00000000000000000000000550000.00
00000000000000000000000746966.09
我不想要的。
如何格式化,使值按原样以字符串形式出现:
0
2,475,000
746,966.091
-627,247.63
感谢阅读!
【问题讨论】:
-
... 为什么你不能改变它?在显示之前,通常不应该对事物进行格式化——最多我会删除前导零;例如,不同地区的千位分隔符是不同的(有些文化也会在不同的单位上分隔)。