如何使用varchar进行计算,为null

时间:2018-11-09 11:30:39

标签: sql-server

我想使用一个值进行计算,但是我一直在SQL Server中获取消息

  

将varchar值'10,0000'转换为数据类型int时转换失败。

或者这个:

  

将varchar值'1.8'转换为数据类型int时转换失败。

这是我要使用的查询。

SELECT DISTINCT   CTPARAM
                , WAARDEBEG
                , CASE 
                      WHEN CTPARAM = 'CPERCTARLG' THEN 100 - WAARDEBEG
                      WHEN CTPARAM = 'CPERCTARHG' THEN 100 + WAARDEBEG
                  END AS Percentage
                , _Id

  FROM WinIKAZ.CTE10
 WHERE  CTCMPTYPE = 'TF'
   AND  (DATAFVOER = 0 OR DATAFVOER >= 20180101)
   AND  (CTPARAM = 'CPERCTARLG' OR CTPARAM = 'CPERCTARHG')
   AND  DATIN < 20190101
   AND  WAARDEBEG NOT IN ('0,0000', '0')
   AND  _Id in (3644846, 3309750, 3062876)

WAARDEBEG具有3个值

(10,0000),(1.8)和(10)

它仅适用于(10)值。

如何转换WAARDEBEG,以便可以使用10,0000和1,8值进行计算

0 个答案:

没有答案