`
spacefly
  • 浏览: 275376 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hql oracle 比较 日期时间

    博客分类:
  • java
阅读更多

oracle 里比较date类型时,好像默认只比较 日期 而不比较 时间,下面写个用hql语句oracle数据库,比较date类型的日期时间的测试类:

 

package test;

import java.util.Date;

/**
 * hql语句 比较 oracle 的日期时间 的写法
 * 
 * @author space
 * @date 2008-12-25 17:23:54
 */
public class OracleHqlDateTimeCompare {
	public static void main(String[] args) {
		System.out.println(getHqlForDateTime(new Date(), "yyyy-MM-dd HH:mm", "yyyy-mm-dd hh24:mi"));
	}

	/**
	 *  生成 “求 用户注册 日期时间 在 指定 日期时间 之前的用户总和” 的 hql 语句
	 * @param d
	 * @param toDateString
	 * @return
	 */
	private static String getHqlForDateTime(Date d, String format, String hqlFormat) {
		return "SELECT COUNT(*) FROM user u WHERE u.cdate <= " + toDate(d, format, hqlFormat);
	}

	/**
	 * 将日期转化成 oracle 的 to_date('xxx','xxx') 格式
	 * 
	 * @param d 日期
	 * @param format 日期格式,例如 "yyyy-MM-dd HH:mm"
	 * @param hqlFormat oracle的日期格式,例如:"yyyy-mm-dd hh24:mi"
	 * @return
	 */
	private static String toDate(Date d, String format, String hqlFormat) {
		StringBuffer bf = new StringBuffer();
		bf.append("to_date('");
		bf.append(dateFormat(d, format));
		bf.append("','");
		bf.append(hqlFormat);
		bf.append("')");
		return bf.toString();
	}

	/**
	 * 将日期转化成指定格式的字符串
	 * 
	 * @param d 日期
	 * @param formatStr 字符串格式
	 * @return
	 */
	private static String dateFormat(Date d, String formatStr) {
		return (new java.text.SimpleDateFormat(formatStr).format(d));
	}

}

 

 和当前日期进行比较的例子:

package space;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {
	public static void main(String[] args) {
		/** 
		 * 该 hql 语句从oracle数据库中获得所有 创建在当前日期之前的用户;
		 * 注:oracle 将字符串转化成date类型函数是 to_date('2008-07-01','yyyy-MM-dd HH24:mi:ss')
		 */
		String dateCompareHql = "FROM user u where u.cdate <= to_date('" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())
				+ "','yyyy-MM-dd HH24:mi:ss')";
	}
}

 

 

分享到:
评论

相关推荐

    HQL语法入门学习HQL语法入门学习

    HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL...

    hql模糊查询hql模糊查询

    hql模糊查询hql模糊查询hql模糊查询hql模糊查询

    hibernate query调用oracle存储过程

    使用hibernate的query调用oracle的存储过程/function,包含例子,源码以及数据库文件

    HQL语句 HQL语句

    HQL语句 HQL语句 HQL语句 HQL语句 HQL语句

    hql语句大全hql语句大全

    hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全

    HQL语句大全HQL语句大全

    HQL语句大全HQL语句大全HQL语句大全HQL语句大全HQL语句大全

    hql ppt Hql PPt

    Hql PPt Hql PPt

    HQL 详解 HQL查询

    Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询...

    HQL Eclipse Plugins 配置教程

    不喜欢使用myEclipse的...最近在项目中使用Hibernate,由于需要使用HQL,找了很多资料,大都是MyEclipse中自带的HQL工具。 由于MyEclipse是收费的,速度不是很理想。所以在网上找到了一个elipse插件 英文图文教程 ...

    hql语句 使用大全

    hql语句常规 方法 使用 了解hql语句

    HQL学习教程Hibernate入門

    HQL Hibernate入門 java 时间日期的方法大全讲解 扩展hibernate的主键生成策略

    NHibernate HQL 条件查询

    NHibernate HQL 条件查询

    Hibernate之HQL查询

    HQL查询是一种面向对象的查询语言,其中没有表和字段的概念,只有类、对象和属性的概念,HQL 是应用较为广泛的方式.这是本人对HQL知识点做的一个总结性的练习

    hibernate查询之HQLhibernate查询之HQL

    hibernate查询之HQLhibernate查询之HQLhibernate查询之HQL

    sql转换hql工具

    之前写好SQL,再到代码里面来写,语句复杂的看的时不时细节会忘记,用sql转换hql工具,直接贴近了就可以了;

    hibernate 调用oracle函数

    NULL 博文链接:https://jadeluo.iteye.com/blog/1213549

    精通hibernate HQL语言

    精通HQL.doc精通HQL.doc精通HQL.doc精通HQL.doc精通HQL.doc

    HQL语法大全,并带有详细的例子

    HQL是完全面向对象的查询语言,因此可以支持继承和多态等特征。HQL查询依赖于Query类,每个Query实例对应一个查询对象,使用HQL查询按 如下步骤进行: (1)获取Hibernate Session对象; (2)编写HQL语句; (3)以HQL...

    HQL语言大全 高清晰可复制版

    HQL语言大全HQL语言大全HQL语言大全

    HQL查询语言基础知识

    HQL查询语言基础,HQL查询语言基础,HQL查询语言基础

Global site tag (gtag.js) - Google Analytics