将逗号替换为点时向上舍入的量

时间:2016-04-05 20:40:51

标签: sql sql-server

我刚刚意识到我的calcutations中的一些数量与原始数量不匹配(在excel中 - 在我导入之前)。

巴西金额通常将逗号显示为十进制标识符,但我将SQL Server保留为无法识别的标准英语。

找到的解决方法是将逗号替换为dot,但SQL Server会自动将其舍入。见下面的例子:

select vlr_contab_item vl1, replace(vlr_contab_item,',','.') vl2
--------------------
vl1       |   vl2
--------------------
40783,29  | 40783.3
--------------------

如何在更换后对金额进行舍入?

1 个答案:

答案 0 :(得分:0)

DECLARE @amount AS MONEY

SET @amount = 1200.5566

SELECT FORMAT(@amount, 'N', 'en-us') AS 'Number Format'
            ,FORMAT(@amount, 'G', 'en-us') AS 'General Format'
            ,FORMAT(@amount, 'C', 'en-us') AS 'Currency Format'
            ,FORMAT(@amount, 'C3', 'en-us') AS 'Currency Format'
            ,FORMAT(@amount ,'F', 'de-DE')   AS 'Currency Format'

FORMAT (Transact-SQL)

Standard Numeric Format Strings