我試圖從TransactionE t實體中檢索t.purchasedDate的月份等於當前月份的所有實體。EJB QL數據語法錯誤
但是,我的代碼運行時遇到了語法錯誤。
String query = "SELECT t FROM TransactionE t WHERE Month(t.purchaseDate) = Month(" + getCurrentDate()+")";
Query q = em.createQuery(query);
請幫忙嗎?
getCurrentDate()是一個函數,它將以「yyyy-MM-dd」格式返回當天的日期。
以下是我希望能夠實現的查詢。 SELECT噸FROM TransactionE噸WHERE月份(t.purchaseDate)=月( 「2013年10月6日」)
錯誤: 致:異常[的EclipseLink-8025](Eclipse持久服務 - 2.3.2 .v20111125-r10461):org.eclipse.persistence.exceptions.JPQLException 異常說明:語法錯誤解析查詢[SELECT t FROM TransactionE t WHERE Month(t.purchaseDate)= Month(getCurrentDate()),line 1,column 40 :意外的標記[(]
嘗試日期單引號 –
您好,您的意思是這樣的? SELECT t FROM TransactionE t WHERE Month(t.purchaseDate)= Month('2013-10-09') 我剛試過。單引號不起作用 –
您正在使用哪個應用程序服務器?您使用的是JPA圖書館? –