Search code examples
vb.netwinformssql-server-ce

SQL Server CE scipt error


Can someone help me, what's here wrong?

My query:

SELECT * 
FROM SZ_2017
REPLACE(CONVERT(nvarchar,CAST ((szamla_brutto) AS MONEY),1), '.00',''),
REPLACE(CONVERT(nvarchar,CAST ((szamla_netto) AS MONEY),1), '.00','')

The error:

Error Code: 80040E14  
Message   : There was an error parsing the query. [ Token line number = 2,Token line offset = 8,Token in error = ( ]  
Minor Err.: 25501  
Source    : SQL Server Compact ADO.NET Data Provider  
Num. Par. : 2  
Num. Par. : 8  
Err. Par. : (

Thanks!


Solution

  • I suspect what you are trying to do is:

    SELECT * 
    ,      REPLACE(CONVERT(nvarchar,CAST ((szamla_brutto) AS MONEY),1), '.00','')
    ,      REPLACE(CONVERT(nvarchar,CAST ((szamla_netto) AS MONEY),1), '.00','')
    FROM   SZ_2017
    

    If you want to get rid of decimal values you can do it easier like:

    CAST(CAST(szamla_brutto AS INT) AS MONEY)
    

    Remember to store data in an appropriate datatype, if you store monetary values, store it as MONEY or DECIMAL, NEVER as (n)varchar!

    Additionaly, since convert and cast are functionally synonyms, pick one and stick with it, don't mix them together.