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