[英]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.