JPA - 减去两个日期列

时间:2016-11-16 11:51:21

标签: oracle jpa eclipselink ejb-3.0 jpql

我有使用EJB3 + JPA(eclipselink)+ Oracle数据库+玻璃鱼的项目 一切正常我可以从数据库中获取任何表

我想要的是使用JPQL

执行这个sql语句
An exception occurred while creating a query in EntityManager: 
Exception Description: Syntax error parsing [SELECT d.de - CURRENT_Date as newde  FROM Deinfo d ]. 
[7, 19] The left expression is not an arithmetic expression.

我试试这段代码

select  CURRENT_Date  as newde

但创建查询时会抛出错误

SELECT ID, 
       CASE 
         WHEN status = 1 THEN 'Resolved' 
         WHEN status = 2 THEN 'InProgress' 
         WHEN status = 3 THEN 'Open' 
       END critical_status 
FROM(
  SELECT ID, 
       MAX(CASE 
            WHEN Critical_Status = 'Resolved' 
             THEN 1 
            WHEN Critical_Status = 'InProgress' 
             THEN 2 
            WHEN Critical_Status = 'Open' 
             THEN 3 
           END) status
  FROM table1
  GROUP BY ID) T1

为什么我不能使用JPQL减去拖曳日期但是我可以在Oracle sql命令中使用上面相同的sql并且工作正常

我也试试

@RequestMapping("/")
public void welcome() {

    include("file1.jsp");
    include("file2.jsp");
    include("file3.jsp");
}

它返回当前日期,所以命令没问题 只是我不能使用JPQL

在日期使用数学运算

0 个答案:

没有答案