论坛首页 Java企业应用论坛

Oracle 时间段查询

浏览 16934 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (3)
作者 正文
   发表时间:2011-06-18  
wxwdt 写道
select * from tb_product where trunc(createdate)>=? and trunc(createdate)<=?
用trunc函数就可以了


这种做法比较傻。会被骂。尽量不要把函数用到字段上。
0 请登录后投票
   发表时间:2011-06-18  
fengyexjtu 写道
wad12302 写道
select * from tb_product where

createdate > to_date('2011-6-15','yyyy-MM-dd') - 1

and

createdate<=to_date('2011-6-16','yyyy-MM-dd') + 1;


个人认为这种方式好一些

+1
0 请登录后投票
   发表时间:2011-06-18   最后修改:2011-06-18
wad12302 写道
select * from tb_product where

createdate > to_date('2011-6-15','yyyy-MM-dd') - 1

and

createdate<=to_date('2011-6-16','yyyy-MM-dd') + 1;



用上面方式不错。。
0 请登录后投票
   发表时间:2011-06-18  
不过这种方式需要进行类型转换Date->String ,我们系统前端是swing的
0 请登录后投票
   发表时间:2011-06-18  
我不明白
select * from tb_product where createdate>=to_date('2011-6-13','yyyy-MM-dd') and createdate<=to_date('2011-6-17','yyyy-MM-dd'); 


这样的写法2011/6/16这条记录为什么查不出来,我一直是这样用的,没发现这个问题?谁讲一下?
0 请登录后投票
   发表时间:2011-06-18  
wad12302 写道
select * from tb_product where

createdate > to_date('2011-6-15','yyyy-MM-dd') - 1

and

createdate<=to_date('2011-6-16','yyyy-MM-dd') + 1;

不需要-1吧,上面那种就是从6月15号0时0分0秒开始查询的,-1就从14号开始查了
0 请登录后投票
   发表时间:2011-06-18  
yongqi 写道
我不明白
select * from tb_product where createdate>=to_date('2011-6-13','yyyy-MM-dd') and createdate<=to_date('2011-6-17','yyyy-MM-dd'); 


这样的写法2011/6/16这条记录为什么查不出来,我一直是这样用的,没发现这个问题?谁讲一下?



不明白TOO
0 请登录后投票
   发表时间:2011-06-18  
wad12302 写道
select * from tb_product where

createdate > to_date('2011-6-15','yyyy-MM-dd') - 1

and

createdate<=to_date('2011-6-16','yyyy-MM-dd') + 1;


上面写有问题:

好像是应该是

>=  aaa

and

<  bbb - 1



已修改为这种方式
0 请登录后投票
   发表时间:2011-06-18  
楼主可以将起始时间转化成
'年-月-日 00:00:00'
终止时间转化成
'年-月-日 23:59:59'
再传给oracle,这样sql也不需要进行什么加1的运算了
1 请登录后投票
   发表时间:2011-06-18  
yongqi 写道
我不明白
select * from tb_product where createdate>=to_date('2011-6-13','yyyy-MM-dd') and createdate<=to_date('2011-6-17','yyyy-MM-dd'); 


这样的写法2011/6/16这条记录为什么查不出来,我一直是这样用的,没发现这个问题?谁讲一下?




这么用是没问题的,估计楼主的代码或语句有问题,oracle的时间段,是可以这样查的,
经严格测试,至少9I,10G两个版本,这么查没有问题,2011/6/16是可以查出来得,依据楼主对数据库知识的匮乏度,只能推测,代码出错。。。。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics