真的很讨厌 Oracle 中的日期,但我想做的只是一个基本查询,以查找一行或多行是否等于日期(Oracle 表中日期的格式是 17-JAN-11)。我正在使用 Toplink 来尝试形成查询。
我的代码是这样的:
ReadAllQuery query = new ReadAllQuery(FooMyTable.class);
ExpressionBuilder builder = query.getExpressionBuilder();
if (dateFoo != null)
query.setSelectionCriteria(builder.getField("REQUEST_CREATED_DATE").equal(dateFoo));
……
它总是带回零行,我猜是因为我应该使用 truncateDate() 或其他东西,但我无法弄清楚语法。任何人都可以帮忙吗??,通过谷歌找不到任何像样的东西,因此这个帖子。
更新:现在我知道这肯定与时间和日期有关 - 对于没有时间的行,只是一个日期,上面的代码有效,但如果日期值也有时间,那么它会失败。