【发布时间】:2013-06-18 18:59:35
【问题描述】:
我有一个视图,我将 DATETIME 转换为 DATE,所以我可以忽略时间部分。
CAST(av.date as DATE),
我尝试使用代码在特定日期查询此视图:
s.date BETWEEN :start AND :end
要设置这些参数,我会收到日期并将其截断,请使用以下代码:
DateTime beginDate = new DateTime(bgn);
DateTime endDate = new DateTime(end);
Date startDt = DateUtils.truncate(beginDate.toDate(), Calendar.DATE);
Date endDt = DateUtils.truncate(endDate.toDate(), Calendar.DATE);
问题是当它到达 JDBC 时,我收到以下错误:
WARN [JDBCExceptionReporter] SQL 错误:241,SQLState:22007
错误 [JDBCExceptionReporter] 从字符串转换日期和/或时间时转换失败。
使用以下代码为查询设置日期:
Query query = entityManager.createNamedQuery(name);
query.setParameter("start", startDt);
有人对可能发生的事情有任何线索吗? 我发现这个 link 关于这个错误,但它对我一点帮助都没有。 我对此感到 100% 迷失了。
【问题讨论】:
-
请更新您的标题以直接反映您的问题。大多数人根本不知道这样的错误代码。
-
请显示代码如何将日期传递给查询。
-
@AlexanderRumanovsk 您可以编辑您的问题并将其添加到那里。
标签: sql hibernate date datetime time