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中 oracle当前时间,hql oracle 比较 日期时间相关推荐

  1. 把一个中文日期时间格式字符串转为日期时间

    MS SQL Server2012中把一个中文日期时间格式字符串转为日期时间. 如: DECLARE @d NVARCHAR(20) = N'2012年08月12日14时36分48秒' SELECT  ...

  2. mysql 时间 1_(转)mysql日期时间函数1

    MySQL 日期跟时间函数(一) 作者: Mr.Zhang MySQL 日期跟时间的样式 在MySQL 中有很多有用处的日期跟时间函数.我们常常看到许多应用于日期的计算是在代码 方面上进行的,但是其实 ...

  3. php 时间加法函数_PHP 日期时间函数的高级应用技巧

    PHP 日期时间函数常用函数高级使用技巧,大家在以后的开发中能用的到. PHP的日期时间函数date() 1,年-月-日 echo date('Y-m-j'); 2007-02-6 echo date ...

  4. android时间24小时,安卓时间显示TextClock显示日期时间,24小时制和12小时制(自定义...

    安卓时间显示TextClock显示日期时间,24小时制和12小时制(自定义 安卓时间显示TextClock显示日期时间,24小时制和12小时制(自定义时间) 这个地方的是按24小时制还是12小时制 是 ...

  5. java精准查询mysql时间_在mysql查询中查找与指定日期时间最接近的日期时间

    我试图在mysql数据库中找到一个datetime值,它与我指定的日期时间最接近,我遇到了一些麻烦 . 以下伪代码是我想要实现的: SELECT one FROM table WHERE dateti ...

  6. mysql根据当前时间删除_从日期时间早于另一项日期时间的Mysql表中删除

    我有一些困难,使我的MySQL查询正确.当前状态如下: 我有一个包含Todo的表,其中datetime字段已更改为(在插入/更新时设置为当前datetime) 如果有20个以上的项目的"是否 ...

  7. C#中使用DateTimePicker控件显示修改日期时间

    1.只显示日期 默认就是 2.只显示时间 修改属性 Format 设为Time ShowUpDown设为true 3.同时显示日期时间 Format设为Custom CustomFormat 设为 y ...

  8. sas时间和Linux时间转化,尝试在SAS中获取文件属性(文件大小,创建日期时间和上次修改日期时间)...

    我正在使用以下宏来使用SAS获取 Linux文件属性.我正在获取大小和上次修改时间的值,但没有获得"创建日期时间"的任何值.%macro FileAttribs(filename) ...

  9. asp php时间格式,ASP_asp格式化日期时间格式的代码,' ====================================== - phpStudy...

    asp格式化日期时间格式的代码 ' ============================================ ' 格式化时间(显示) ' 参数:n_Flag ' 1:"yyy ...

  10. mysql常用日期时间函数_MySql常用日期时间函数

    返回当前的日期和时间 select MICROSECOND(SYSDATE()); --0 select SECOND(SYSDATE()); --33 select MINUTE(SYSDATE() ...

最新文章

  1. linux文件编辑操作,Linux下文本编辑及其文件操作
  2. 帝国cms7.5百度小程序针对搜索引擎自然搜索优化版生成静态版
  3. 使用 Async 和 Await 的异步编程
  4. java面向对象高级分层实例_BaseDao
  5. yum 不能安装应用,提示There are no enabled repos Run yum repolist all
  6. 向内存中连续存入数据_实例35_在Excel中按条件筛选数据并存入新的表
  7. 什么是whois? (whois的概念及应用)
  8. 移动APP中那些关乎用户体验的测试项
  9. 发那科冲压直线搬运机器人_发那科直线七轴软件配置
  10. 完整的连接器设计手册_工业连接器如何选型
  11. app做好后如何上线_自己开发一个APP,如何上线
  12. MATLAB中有关矩阵特征值和特征向量的计算
  13. GeoServer中使用SLD样式
  14. 【基站位置查询】通过lac,cellid进行手机基站位置查询和经纬度查询
  15. Python解决12小球问题
  16. 在信息不完全对称时,你可以用你的“空城计”虚张声势
  17. 手机短信(SMS)工作原理(一)
  18. iOS最新面试题(一)
  19. 展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
  20. AutoService+javaPoet+maven+注解自动生成java代码

热门文章

  1. 【Linux】自主实现my_sleep【转】
  2. java RSA加密生成license,用CPU序列号生成机器码
  3. 总结:MySQL备份与恢复的三种方法
  4. 03-4 BGP 默认路由/MED
  5. 毕业5年决定你的一生_4
  6. redhat5.4上安装oracle9i
  7. 那些年学java遇到的好东西
  8. 为什么我keepalive配置的vip不能通_企业十大应用-Keepalived-配置详解
  9. arcgis js平滑线工具_Arcgis中文字体、平滑线插件使用说明
  10. c++ string split_闲话Python之砍瓜切菜split()