gpt4 book ai didi

mysql - 如何比较HQL中的时间戳字段?

转载 作者:行者123 更新时间:2023-11-29 17:32:07 25 4
gpt4 key购买 nike

我的表中有一个 Java.Util.Timestamp 列,但无法与 WHERE 子句中的变量进行比较。使用此代码:

        // Using Calendar to convert Java Date 'horarioEliminar' to Sql Timestamp 't'
Calendar cal = Calendar.getInstance();
cal.setTime(horarioEliminar);
cal.set(Calendar.MILLISECOND, 0);

Timestamp t = new java.sql.Timestamp(cal.getTimeInMillis());

String horQ = "FROM Academia.Horarios WHERE horario ="+ t;
horario = (Horarios) session.createQuery(horQ).uniqueResult();

我遇到了异常:

ERROR [http-nio-8080-exec-873] org.hibernate.hql.internal.ast.ErrorCounter.reportError line 1:57: unexpected token: 10

但我检查了 System.out.println(t) 结果与存储在 horario 列中的值匹配。如何正确比较这两个时间戳?

最佳答案

尝试将时间戳设置为查询参数,如下所示:

 Timestamp t = new java.sql.Timestamp(cal.getTimeInMillis());

String horQ = "FROM Academia.Horarios WHERE horario = :ts";
horario = (Horarios) session.createQuery(horQ).setParameter("ts", t).uniqueResult();

关于mysql - 如何比较HQL中的时间戳字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50556888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com