【发布时间】:2017-03-10 15:13:22
【问题描述】:
我正在将 primefaces 日历中的日期发送到支持 bean。 primefaces 发送的对象是日期。
<p:calendar id="exact_Date" value="#{h.model.arhExactDate}" pattern="yyyy/MM/dd"/>
调试器中的日期看起来像 Thu Mar 02 00:00:00 EET 2017。
我只想从中提取日期部分(没有时间)并将其与数据库中的时间戳进行比较like 2017-03-02 18:57:19.152 使用 eclipselink jpql。 p>
所以它会是这样的: cast(2017-03-02 18:57:19.152 as varchar) like 2017-03-02 18 其中“like”后面的部分是从日期开始的日期。
看着这个basic eclipselink guide,我发现我可以使用如下提取方法:extract(year from my_date)。但是我怎样才能提取所有我需要的东西呢?
我尝试了下面的查询,但不是一个有效的表达式:
select e from MyEntity e where extract(year from e.reqDate) = :extract(year from exactDate)
如果它有效,我希望有类似的东西:
extract(year,mounth,day from e.reqDate) =:(exactDate)
我不想要这样的东西: extract(year from e.reqDate) = :extract(year from exactDate) and extract(month from e.reqDate) = :extract(month from exactDate) and extract(day from e.reqDate) = :extract(day from exactDate)
【问题讨论】:
-
eclipseLink 指南将格式显示为“EXTRACT(YEAR, e.startDate)”。你的好像不一样。您是否尝试过“从 MyEntity e where extract(YEAR, e.reqDate) = :year_parameter”中选择 e?什么是错误或生成的 SQL?
标签: jpa eclipselink jpql