ITPub博客

首页 > 应用开发 > IT综合 > select sum 金额出现 The maximum possible numbe

select sum 金额出现 The maximum possible numbe

原创 IT综合 作者:ultraluck 时间:2024-06-27 15:03:21 0 删除 编辑

SELECT   SUM (  CASE shkzg  WHEN  'S' THEN wrbtr
                         WHEN  'H' THEN wrbtr *  - 1   END  )  AS WRBTR 
       FROM vbsegk  AS a
       INTO @DATA (l_wrbtr ) .

出现如下报错

The maximum possible number of places in th

e expression starting with WRBTR is 34 places wi

th 2 decimal places. There can be, however, no m

ore than 31 places and 14 decimal places. 

用cast做类型转换

SELECT   SUM (  CASE shkzg  WHEN  'S' THEN CAST ( wrbtr  AS DEC (  20 , 2  )  )
                         WHEN  'H' THEN CAST ( wrbtr  AS DEC (  20 , 2  )  ) *  - 1  END   )  AS wrbtr
       FROM vbsegk  AS a
       INTO @DATA (l_wrbtr1 ) .

测试不报错

也可以用如下写法
SELECT   SUM (  CASE  shkzg  WHEN  'S'  THEN CAST (  wrbtr  AS  CURR (  20 , 2  )  )
                         WHEN  'H'  THEN CAST (  wrbtr  AS  CURR (  20 , 2  )  )  *  - 1  END   )  AS  wrbtr
       FROM  vbsegk  AS  a
       INTO  @DATA ( l_wrbtr2 ) .


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/190059/viewspace-3020390/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2004-12-03

  • 博文量
    170
  • 访问量
    176241