Sql 将Varchar格式化为货币的数字
我被Sql 将Varchar格式化为货币的数字,sql,sql-server,numbers,Sql,Sql Server,Numbers,我被varchar(50)中的一列卡住了,我想用货币格式。“金额”列的一些示例包括: -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,',',''
varchar(50)
中的一列卡住了,我想用货币格式。“金额”列的一些示例包括:
-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,',',''))
您可以像这样
选择convert(money,'-55156.11')
将转换为货币
,
如果可能,您应该考虑将数据类型从varchar更改为数字数据类型。当您使用正确的数据类型时,这种类型的问题会自行解决。