首页 > 解决方案 > 如何用 varchar 计算,null

问题描述

我想用一个值进行计算,但我一直在 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 值进行计算

标签: sql-server

解决方案


推荐阅读