加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

如何对varchar类型的字段求和,前提是varchar类型中存的都为数字

(2007-07-30 15:52:19)
分类: Db2
一,在DB2数据库中
 因为数据库设计失误,误将数量DECIMAL(10,2)类型,设置为varchar(10)类型,
 因此如果进行求和计算,只能将所有数据取出在类中处理,经Baidu查询发现,
 在DB2中可以使用sum(decimal(conitem2,10,2)) 这个方法将varchar类型转为decimal 类型,其中数值表示:10位长,4位精度
具体使用为:
select   sum(decimal(conitem2,10,2)) as aa ,comid from UBL_PROCONTENT where   proid=21967 group by  comid
 
使用前提:1,varchar类型的字段中必须存的为数字,
 
          2,该字段是否可空,还需要验证得出结果????
 
 还可以使用:select sum(int(code)) from student
 和select sum(cast(code as integer)) from student
但是这些方法在hibernate中都不好使
二,另外查询出另一种方法,但在DB2中不好使,先记下来,以后试试是否是在其它数据库中的方法
 
select   sum(convert(int,维修费))   from   table 或
 
select   sum(cast(维修费   as   int))   from   table   
 
select   sum(   case   isnumeric(维修费)   when   1   then   sum(cast(维修费   as   int))   else   0   end   )
 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有