简体   繁体   English

将NVARCHAR转换为货币值

[英]Convert NVARCHAR to money value

I'm trying to convert an NVARCHAR value to a money value with MsSQL. 我正在尝试使用MsSQL将NVARCHAR值转换为money值。

I know I can use something like: 我知道我可以使用类似:

SELECT CONVERT(money, ValueColumn) FROM SomeTable

But the problem is when I have a value 4352,50, and I call the convert method, the value becomes 435250,00 但是问题是当我有一个值4352,50并调用convert方法时,该值变成435250,00

What am I missing? 我想念什么? I also tried CONVERT(money, ValueColumn, 2) but without any success. 我也尝试了CONVERT(money,ValueColumn,2),但没有成功。

Thanks in advance! 提前致谢!

SELECT CONVERT(money, REPLACE('4352,50', ',', '.'))

当您在使用-小数分隔符时,请使用以下命令:

SELECT CONVERT(money, REPLACE(ValueColumn, ',', '.'))

Try 尝试

DECLARE @ValueColumn NVARCHAR(20)

SELECT @ValueColumn = '4352.50'

SELECT CONVERT(money, @ValueColumn) 

VS VS

DECLARE @ValueColumn NVARCHAR(20)

SELECT @ValueColumn = '4352,50'

SELECT CONVERT(money, @ValueColumn) 

The comma is not being intepreted as the decimal point. 逗号不被解释为小数点。

SELECT TRY_PARSE('12 .345,67'AS Money using'pt-BR')

This is a bit of a hack but if the rest of your data is the same format 这有点骇人听闻,但如果您其余数据的格式相同

eg numbers , numbers , 例如numbers , numbers ,

Declare @Value nvarchar(50)

Set @Value = '4352,50,'

Select Convert(Money, Substring(@Value, 0, Charindex(',',@value)) + '.' + Substring(@Value, Charindex(',',@Value)+1, 2))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM