SQL 服务器 CE 脚本错误

SQL Server CE scipt error

谁能帮帮我,这里有什么问题吗?

我的查询:

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

错误:

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. : (

谢谢!

我怀疑你想做的是:

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

如果你想去掉十进制值,你可以像这样更容易地做到:

CAST(CAST(szamla_brutto AS INT) AS MONEY)

记住以适当的数据类型存储数据,如果存储货币值,请将其存储为 MONEYDECIMALNEVER as (n)变量!

此外,由于 convertcast 在功能上是同义词,所以选择一个并坚持使用,不要将它们混在一起。