java 中 Date 如何与oracle中的时间比较?
我要在每次查询时,将当前时间与数据的deadtime字段比较,如果当前时间小于这个字段,也就是说在截至日期之前就查出来,反之就不查。这个sql要如何写呢?...
我要在每次查询时,将当前时间与数据的deadtime字段比较,如果当前时间小于这个字段,也就是说在截至日期之前就查出来,反之就不查。
这个sql要如何写呢? 展开
这个sql要如何写呢? 展开
2个回答
展开全部
java如果是util包中的date类型应该直接就可以和oracle中的date类型比较。
如果java中日期是String类型的。比较的时候就要将oracle中的日期类型用函数括起来。比如
to_char(oracle中的日期,'yyyyy-MM-dd(这个是格式。可以继续往下取时分秒)')。这样就可以进行字符串的比较。
如果oracle中的日期不是date型。就要使用to_date(oracle中的日期,'yyyyy-MM-dd(这个是格式。可以继续往下取时分秒)') 。这样可以进行date类型日期的比较。
如果java中日期是String类型的。比较的时候就要将oracle中的日期类型用函数括起来。比如
to_char(oracle中的日期,'yyyyy-MM-dd(这个是格式。可以继续往下取时分秒)')。这样就可以进行字符串的比较。
如果oracle中的日期不是date型。就要使用to_date(oracle中的日期,'yyyyy-MM-dd(这个是格式。可以继续往下取时分秒)') 。这样可以进行date类型日期的比较。
展开全部
第一步,将你java代码中的Date转换成时间,得如下结果
String now = "2012-09-03 09:19:30";//具体格式按你的要求来转换
第二步,写sql语句
String sql = "select * from TB where deadtime<to_date('"+now+"','yyyy-mm-dd hh24:mi:ss')";
然后查询就可以了
请注意,to_date函数中yyyy-mm-dd hh24:mi:ss要与你的now格式一致。
String now = "2012-09-03 09:19:30";//具体格式按你的要求来转换
第二步,写sql语句
String sql = "select * from TB where deadtime<to_date('"+now+"','yyyy-mm-dd hh24:mi:ss')";
然后查询就可以了
请注意,to_date函数中yyyy-mm-dd hh24:mi:ss要与你的now格式一致。
追问
我是想用hql查询,用new Date与数据库中的时间比较,这个要怎么写?
追答
已经是与数据库中的时间比较了啊
你写hql,必须要把new Date转换成String,比较就是大于、小于、等于或者大于等于之类的!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询