db2 字符串转换 数字

今天使用聚合函数的时候 发现 varchar类型的是不可用的,所以呢就开始想办法解决

用到了转换函数cast(s.score as bigint) 然后有一个问题就是如果数据为空的话就会发生转换错误。这个时候又需要用到另一个函数判断是否为空。

COALESCE(s.score, '0')   这个函数是用来判断是否为空的。 coalesce前面的参数是所在的列,后面的参数是所在列如果为空的话那么就转换为后一个参数

因为是字符串类型 所以 0必须加上'' ,这样才不会类型转换错误。 另外就是数据库的内容需要是(null) 这样才不会报错  。。如果是直接空的话会报错。这个问题我也不了解是为啥了。。。下次遇到好好找找问题原因!最终sql就暂时这么写了 。用就是这么用的。

select avg(cast(COALESCE(s.score, '0') as bigint))  from student s

 

转载于:https://www.cnblogs.com/wupeng88/p/4506392.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值