Hibernate的Hql中的日期比较(mysql数据库)

本文介绍如何在MySQL中处理日期时间,包括将字符串格式的日期转换为MySQL日期格式,以及如何使用时间戳来生成不同格式的日期时间。此外,还提供了具体示例,帮助读者更好地理解和应用这些技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例如: String hql  = '' select count(*) from record where recordTime  >=" +toDate(beginDateStr, hqlFormat) +" and  recordTime <="  + toDate(endDateStr, hqlFormat);

注释:beginDateStr,endDateStr为日期格式的字符串,如:2013-07-06 13:35:23

            hqlFormat为%Y-%m-%d %H:%i:%s

利用下面的方法将字符串日期格式转换成mysql下的日期格式。

   /** 
     * 将日期转化成 mysql 的 str_to_date(date,'%Y-%m-%d-%H-%h-%i') 格式 
     * @param date 日期字符串 
     * @param hqlFormat mysql的日期格式,例如:'%Y-%m-%d-%H-%h-%i' 
     * @return 
     */  
    private static String toDate(String date,String hqlFormat) {  
        StringBuffer bf = new StringBuffer();  
        bf.append("str_to_date('");  
        bf.append(date);  
        bf.append("','");  
        bf.append(hqlFormat);  
        bf.append("')");  
        return bf.toString();  
    }


2、mysql 将时间戳直接转换成日期时间

date为需要处理的参数(该参数是Unix 时间戳),可以是字段名,也可以直接是Unix 时间戳字符串,
后面的 '%Y%m%d' 主要是将返回值格式化 
例如: 
mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y%m%d' )  
->20071120 
mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y年%m月%d' )  
->2007年11月20 


UNIX_TIMESTAMP(date)是与之相对正好相反的时间函数,date 可以是一个 DATE 字符串、一个 DATETIME字符串、一个 TIMESTAMP或一个当地时间的YYMMDD 或YYYMMDD格式的数字。 
 例如:
UNIX_TIMESTAMP(),mysql> SELECT UNIX_TIMESTAMP() ; (执行使得时间:当前时间) 
->1249524739 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值