![](/img/trans.png)
[英]Why does my update query that works in SQL Server 2005 Management Studio not work as a Prepared Query in Java?
[英]Why does this SQL code not work in Microsoft Access but works in SQL Server Management Studio?
此代码在Microsoft Access中将不起作用,但在Microsoft SQL Server Management Studio中将起作用。 我该怎么做才能在Access中工作? 我不断得到
“查询表达式'CAST(od.UnitPrice * od.Quantity *(1 + od.Discount)为十进制(10,2))'Order Total'的语法错误(缺少运算符)。
Select TOP 5
c.CompanyName as 'Company Name',
CAST(od.UnitPrice * od.Quantity * (1 + od.Discount) as decimal(10, 2)) 'Order Total'
From
Customers as c
Join
Orders as o On c.CustomerID = o.CustomerID
Join
OrderDetails as od On o.OrderID = od.OrderID
Where
od.UnitPrice * od.Quantity * (1 + od.Discount) > 5000
AND c.Country IN ('Austria', 'Denmark', 'Germany', 'Ireland', 'Sweden')
Order By
o.OrderDate desc
您不能在Access中使用CAST ...尝试使用以下选项:
Cint-转换为整数
ng-长
CDBL-双
CSNG-单
CSTR-字符串
Cbool-布尔值
CDec-小数
示例: SELECT clng(fieldName) FROM tableName
在您的情况下:
Select TOP 5
c.CompanyName as 'Company Name',
CDec(od.UnitPrice * od.Quantity * (1 + od.Discount)) 'Order Total'
From
Customers as c
Join
Orders as o On c.CustomerID = o.CustomerID
Join
OrderDetails as od On o.OrderID = od.OrderID
Where
od.UnitPrice * od.Quantity * (1 + od.Discount) > 5000
AND c.Country IN ('Austria', 'Denmark', 'Germany', 'Ireland', 'Sweden')
Order By
o.OrderDate desc
希望有帮助!
我认为CAST在Access(如果存在)中不能正常工作。 我会取出CAST并将其更改为类似CDec()函数的内容。 您通常必须使用以下之一: https : //support.office.com/zh-cn/article/Type-Conversion-Functions-8ebb0e94-2d43-4975-bb13-87ac8d1a2202
CAST和CONVERT列函数似乎在MS Access中不起作用。
尝试使用CInt或CLng函数,具体取决于您要的是整数(16位)还是长整数(32位)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.