CAST或将数字转换为Money而不在SQL Server

时间:2017-12-01 16:04:06

标签: sql-server

我想将数值转换为Money但没有舍入值.W.r.t。至 链接:https://technet.microsoft.com/en-us/library/ms187928(v=sql.105).aspx在转换时,它是Money的舍入数字。

但是有可能在小数点后给出最多4位数的值。 NUMERIC VALUE:123456789.3333 需要货币输出量:123,456,789.3333

2 个答案:

答案 0 :(得分:0)

我猜您的意思是数字超过4位,然后您可以使用ROUND

SELECT CAST(ROUND(123456789.33339, 4, 1) AS MONEY)
-- 123456789,3333

VS

SELECT CAST(123456789.33339 AS MONEY)
-- 123456789,3334

<强> Rextester Demo

答案 1 :(得分:0)

可能你正在寻找像这样的东西

SELECT FORMAT(CONVERT(MONEY, CAST(123456789.3333  AS NUMERIC(18,4))), '###,###.####')

结果

123,456,789.3333