将 Varchar 格式化为货币的数字

Number Formatting Varchar to currency

我被 varchar(50) 中的一列困住了,我想使用货币格式。 AMOUNT 列的一些示例是:

-128,533.74 
-55,156.11
77,120.24

我一直收到一条错误消息,说无法转换。使用标点符号处理此问题的最佳方法是什么?

您可以删除逗号,然后将值转换为数字数据类型:

DECLARE @Number VARCHAR(50);
SET @Number = '-128,533.74';

SELECT CONVERT(DECIMAL(16,4),REPLACE(@Number,',',''))