Convert NVARCHAR to money value

32,728

Solution 1

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

Solution 2

As you are working in ,- as-decimal-separator use this:

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

Solution 3

Try

DECLARE @ValueColumn NVARCHAR(20)

SELECT @ValueColumn = '4352.50'

SELECT CONVERT(money, @ValueColumn) 

VS

DECLARE @ValueColumn NVARCHAR(20)

SELECT @ValueColumn = '4352,50'

SELECT CONVERT(money, @ValueColumn) 

The comma is not being intepreted as the decimal point.

Share:
32,728
CyberK
Author by

CyberK

Hi, I'm Kenneth Timmermans from The Netherlands. I'm a Software Engineer and I love programming mobile apps...

Updated on August 04, 2020

Comments

  • CyberK
    CyberK over 3 years

    I'm trying to convert an NVARCHAR value to a money value with MsSQL.

    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

    What am I missing? I also tried CONVERT(money, ValueColumn, 2) but without any success.

    Thanks in advance!