SQL(服务器)将 varchar 转换为 float 时出错。文字+金额

SQL (Server) error converting varchar to float. Text + amount

此代码运行良好且输出良好

代码:

select (sum(SchemeAccount.AdoptionAmount)- convert(varchar,Scheme.Acquisition,103)) [£ Output]

输出:

我现在希望在金额前加上 'Variance'

所以我尝试:

 select 'variance'+  (sum(SchemeAccount.AdoptionAmount)- convert(varchar,Scheme.Acquisition,103)) [£ Output]

然后得到:

Msg 8114, Level 16, State 5, Line 1
Error converting data type varchar to float.

我想要的是'Variance £73,102,500'或者至少'Variance 73102500'

我尝试了很多 CAST 和 convert(varchar,col,103) 函数,要么没有成功,要么得到了 'Variance 73e105' 或类似的东西。

如果需要有关我当前数据类型的更多信息,我可以尝试确定。

使用concat()。我假设你打算:

select concat('variance',
              convert(decimal(20, 4), sum(SchemeAccount.AdoptionAmount)),
              '-',
              convert(varchar(255), Scheme.Acquisition, 103)
             ) as [£ Output]