
可以比较,具体比较方法如下:
[java] view plain copy
Service:
String hql = "SELECT COUNT(*) FROM Instructions "
hql =hql+where
[java] view plain copy
String strStartDate=ParamUtil.getString(request,"strStartDate","")//格式为:2010-05-03
String strEndDate=ParamUtil.getString(request,"strEndDate","")//格式为:2016-06-01
if(!strStartDate.equals("")){
tWhere+=" and dtCreatDate>=to_date('"+strStartDate+" 00:00:00','yyyy-mm-dd hh24:mi:ss')"
}
if(!strEndDate.equals("")){
tWhere+=" and dtCreatDate<=to_date('"+strEndDate+" 23:59:59','yyyy-mm-dd hh24:mi:ss')"
}
[java] view plain copy
int count = objSvr.getCount(tWhere)
打印的语句如下:
[sql] view plain copy
WHERE intVirDel<>1 and dtCreatDate>=to_date('2016-06-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and dtCreatDate<=to_date('2016-06-24 23:59:59','yyyy-mm-dd hh24:mi:ss')
时间类型可以比较大小,但是日期格式需要转成字符串,或者字符串转成日期来比较
oracle中date的类型可以直接使用<, >, <>进行比较,字符串类型可以先转换成date类型在进行比较
select casewhen to_date('2017-01-20', 'yyyy-mm-dd') > sysdate
then 'true'
else 'false' end
from dual
import java.text.DateFormatimport java.text.SimpleDateFormat
import java.util.Date
public class test {
public static void main(String args[]) {
int i= compare_date("1995-11-12 15:21", "1999-12-11 09:59")
System.out.println("i=="+i)
}
public static int compare_date(String DATE1, String DATE2) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm")
try {
Date dt1 = df.parse(DATE1)
Date dt2 = df.parse(DATE2)
if (dt1.getTime() >dt2.getTime()) {
System.out.println("dt1 在dt2前")
return 1
} else if (dt1.getTime() <dt2.getTime()) {
System.out.println("dt1在dt2后")
return -1
} else {
return 0
}
} catch (Exception exception) {
exception.printStackTrace()
}
return 0
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)