QBC查询时间段问题,急!!!!

海的童话 2010-03-24 03:07:20

问题一:
我页面得到了2个时间段,格式为 java.util.Date类型!数据库类型是Date类型

而我用QBC查询这2个时间段的数据时有问题比如:

c.add(Restrictions.between("alarmlast",Mon Feb 22 14:51:34 CST 2010,Wed Mar 24 15:51:34 CST 2010)


这2个时间查出的结果得不到 3月24号当天的数据,我知道是因为跟数据库时间比较的时候格式成了 yyyy-MM-dd 00:00:00了 有什么办法解决?

问题二:
就是我从数据库取出来的时间 只有年月日没有时分秒 ,数据库时间类型是date,SQL查出来的是Mon Feb 22 14:51:34 CST 2010这种格式,而页面取出来则是yyyy-MM-dd, 用
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
sdf.format(time)结果是yyyy-MM-dd 00:00:00 !
请高手帮忙!!!!!
...全文
149 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
海的童话 2010-03-25
  • 打赏
  • 举报
回复
我就是要取出年月日时分秒啊 现在只能获取年月日,我换了java.sql.Date也不行~

对了 如何把Restrictions.sqlRestriction(" CONVERT(varchar, 时间字段, 120 )")
变成 select CONVERT(varchar, 时间字段, 120 ) from table1 这样!
因为criteria.add(...)的话 CONVERT(varchar, 时间字段, 120 )就跑到where后面去了!
xiayuqijava 2010-03-25
  • 打赏
  • 举报
回复
用SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
sdf.format(time)结果是yyyy-MM-dd 00:00:00 !
上面的结果是必然的啊。因为你格式化成
yyyy-MM-dd HH:mm:ss这样的
如果只要年月日,就格式化成yyyy-MM-dd
liulu525800 2010-03-25
  • 打赏
  • 举报
回复
顶起,,,
xuexijava 2010-03-25
  • 打赏
  • 举报
回复
不懂帮顶。。。。。
海的童话 2010-03-25
  • 打赏
  • 举报
回复
问题一解决了 ,问题二怎么解??
海的童话 2010-03-25
  • 打赏
  • 举报
回复
问题二解决了 !我靠 原来是映射文件type="date" 改成 type="java.util.Date" 就OK了 !!
结账
cool_scorpion 2010-03-24
  • 打赏
  • 举报
回复
帮顶。。。
xiayuqijava 2010-03-24
  • 打赏
  • 举报
回复
criteria.add(Restrictions.sqlRestriction("to_char({alias}.dqrq,'yyyy-MM-dd HH:mm:ss')= ?", dqrq,Hibernate.STRING));

Restrictions.sqlRestriction("")里面可以写SQL语句,如上

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧