关于修改DB2数据库中字段类型

  • Post author:
  • Post category:其他


之前用DB2创建表示其中有一个金额字段用的varchar类型,导致在生产时用户做交易将该字段存储到数据库中时出现千分符(1,000)这种格式,然后查询时就会报错。

修复方案:



修改该字段类型为decimal类型保留小数点2位。(表名tablename 旧列 LIMIT 新列 LIMIT1)

第一步:在这个表中创建一个新的列

alter table tablename add column  LIMIT1 DECIMAL(16,2)

第二步:将现有数据插入新列

update tablename  set LIMIT1=CAST(LIMIT  AS DECIMAL(16,2))

第三步:删除不需要的列

alter table tablename   drop column LIMIT;

第四步:将新增的列重命名

alter table tablename   rename column  LIMIT1 TO LIMIT;

PS:生产中已有的数据如果有千分符的话在第二步时用CAST不能用该sql直接修改,会报错。试了几种方法都不行,只能手动修改数据。出现千分符这种问题在IE浏览器中出现,在火狐中就不会出现。哪位大神有关于浏览器兼容性的文章可以留下连接。。。。





版权声明:本文为qq_36655528原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。