我有一个类型为 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';
答案 0 :(得分:0)
不要在值上添加零,而只需将它们相减并使用FORMAT函数添加零或所需的任何形式。