SQL Server减去运算符问题

时间:2018-09-27 16:10:24

标签: sql-server-2008

我有一个类型为 varchar(14)的“ 金额”字段。目的是找到贷方和借方金额之间的净差额。尝试将贷方和借方金额转换为十进制,以便我可以对它们进行总计,然后减去总计以找到差额时,出现以下错误:“ Operand数据类型varchar对于减法运算符无效。

请注意:我能够获得总和(按小数表示的金额)独立于贷方和借方;问题出在减法运算符(-)上。

任何帮助将不胜感激(SQL Server 2008)。

update {table} set amount = 
        (                                                       
            (
            select right('00000000000' + RTRIM(sum(cast(amount as decimal(11,2)))),14) 
            from {table} where debit_credit = 'C'
            )

            -

            (
            select right('00000000000' + RTRIM(sum(cast(amount as decimal(11,2)))),14) 
            from {table6} where debit_credit = 'D'
            )
        )   
            where doc_desc = 'NET_DIFFERENCE'; 

1 个答案:

答案 0 :(得分:0)

不要在值上添加零,而只需将它们相减并使用FORMAT函数添加零或所需的任何形式。