我有一个变量OUTL_New_$
= 4055166.88
。我使用下面的sql代码将值存储在表中。
'$ '+substring(parsename(convert(varchar,convert(money,cast(OUTL_New_$ as int)),1),2),1,13)
但是,它显示如下错误:
Arithmetic overflow error for type varchar, value = 4055166.880000
有人可以帮我理解为什么会出现这个错误吗?
答案 0 :(得分:1)
如果您将@ OUTL_New_ $声明为NVARCHAR, 那么你必须把它作为小数(18,3),而不是INT:
答案 1 :(得分:0)
SELECT '$ ' + SUBSTRING(PARSENAME(CONVERT(VARCHAR, CONVERT(MONEY, CAST(4055166.88 AS INT)), 1), 2), 1, 13)
SELECT FORMAT(CAST(4055166.88 AS INT), '$ ###,##,####')
结果 -
$ 4,055,166