oracle中date类型能比较大小吗?
答案:5 悬赏:0 手机版
解决时间 2021-03-20 03:46
- 提问者网友:聂風
- 2021-03-19 13:07
oracle中date类型能比较大小吗?
最佳答案
- 五星知识达人网友:末日狂欢
- 2021-03-19 13:12
可以比较,具体比较方法如下:
[java] view plain copy
[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')
全部回答
- 1楼网友:醉吻情书
- 2021-03-19 17:35
时间类型可以比较大小,但你这个不是时间类型,得用得做转化
比如op.riri是date类型的,你可以op.riqi > to_date('2011-07-26','yyyy-mm-dd')追问这是我在资料上看到的,就是这样写的,OP.RIQI这样会有执行结果吗?追答OP.RIQI 这个在数据库里是什么类型的呢? 如果是date类型的那应该会报错的
比如op.riri是date类型的,你可以op.riqi > to_date('2011-07-26','yyyy-mm-dd')追问这是我在资料上看到的,就是这样写的,OP.RIQI这样会有执行结果吗?追答OP.RIQI 这个在数据库里是什么类型的呢? 如果是date类型的那应该会报错的
- 2楼网友:西风乍起
- 2021-03-19 16:30
都转换成字符串或者时间类型就能比较。
- 3楼网友:由着我着迷
- 2021-03-19 14:51
可以比较大小,譬如:select * from GC_GARBAGE t where t.submittime < to_date( '2012-12-13 ' , ' yyyy-mm-dd ' );
select * from GC_GARBAGE t where t.submittime >to_date( '2012-12-13 10:58:00' , ' yyyy-mm-dd hh24:mi:ss' );
select * from GC_GARBAGE t where t.submittime >to_date( '2012-12-13 10:58:00' , ' yyyy-mm-dd hh24:mi:ss' );
- 4楼网友:十年萤火照君眠
- 2021-03-19 13:24
时间类型可以比较大小,但是日期格式需要转成字符串,或者字符串转成日期来比较
比如你的这个
WHERe (to_char(OP.RIQI,'yyyy-mm-dd') >= '2011-06-01')
AND (to_char(OP.RIQI,'yyyy-mm-dd') < = '2011-07-26'))
或者
WHERe (OP.RIQI >= to_date('2011-06-01','yyyy-mm-dd'))
AND (OP.RIQI < = to_date('2011-07-26','yyyy-mm-dd'))追问你写的这个我可以理解,但是这是我在资料上看到的,就是这样写的,OP.RIQI这样会有执行结果吗?追答恩,日期和字符都可以比较大小,保证没问题的,只要你数据在那个区间呢,肯定有结果的
否则像你那么写,很有可能会报错的
比如你的这个
WHERe (to_char(OP.RIQI,'yyyy-mm-dd') >= '2011-06-01')
AND (to_char(OP.RIQI,'yyyy-mm-dd') < = '2011-07-26'))
或者
WHERe (OP.RIQI >= to_date('2011-06-01','yyyy-mm-dd'))
AND (OP.RIQI < = to_date('2011-07-26','yyyy-mm-dd'))追问你写的这个我可以理解,但是这是我在资料上看到的,就是这样写的,OP.RIQI这样会有执行结果吗?追答恩,日期和字符都可以比较大小,保证没问题的,只要你数据在那个区间呢,肯定有结果的
否则像你那么写,很有可能会报错的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯