gpt4 book ai didi

mysql - BETWEEN 的结果为空

转载 作者:行者123 更新时间:2023-11-29 13:50:27 26 4
gpt4 key购买 nike

这是我的jpql

@NamedQuery(name = "Subscribe.countByDate", query = "SELECT COUNT (s.idSubscribe) FROM Subscribe s WHERE s.dateInscription BETWEEN :dateS AND :dateF"),

这是我的门面:

    public Number subSexeDate(String v, Date dated, Date datef) {
Query query = em.createNamedQuery("Subscribe.countByDate");
//query.setParameter("sexe", v);
query.setParameter("dateS", dated, TemporalType.DATE);
query.setParameter("dateF", datef, TemporalType.DATE);
return (Number) query.getSingleResult();
}

这是我的 Controller

 public List<Number> subSexeDate() {
sexe();
Date d1= new Date(2008-01-07);
Date d2= new Date(2010-01-01);
List<Number> nb = new ArrayList<Number>();
for (String var : sexe()) {

nb.add(ejbFacade.subSexeDate("homme", d1, d2));
}
return nb;
}

结果是:[0, 0]

真正的问题

Date d1 = new Date(2007-01-01); long x = d1.getTime(); long y = System.currentTimeMillis(); Date d2 = new Date(); d2.setTime(y); d1.setTime(x); List<Number> nb = new ArrayList<Number>(); for (String var : sexe()) { nb.add(ejbFacade.subSexeDate(var, d1, d2)); System.out.println(d1.toString()+"date2"+d2);}

但 system.out 的结果:信息:Thu Jan 01 01:00:02 CET 1970date2Sun May 26 11:55:31 CEST 2013 –

最佳答案

我想这个问题与您构建 Date 对象的方式有关。你正在写这个:

Date d1= new Date(2008-01-07);

与此相同:

long x = 2008 - 1 - 7;
Date d1 = new Date(x); // or new Date(2000L);

我怀疑这不是你想要的。使用 DateFormat 并解析您的日期字符串。

关于mysql - BETWEEN 的结果为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16753427/

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