sql如何按时间段来查询
如题,数据库有一个表ms_cf01,有一个字段kfrq,这个字段是datetime类型,格式2012-01-0101:01:01,想做以下查询:查询这个字段的某个小时段内...
如题,数据库有一个表ms_cf01,有一个字段kfrq,这个字段是datetime类型,格式2012-01-01 01:01:01,想做以下查询:
查询这个字段的某个小时段内记录,比如2010年1月1号到2010年12月31号这段时间内晚上18:00--24:00的记录。怎么写语句呢?数据库为oracle 10g。 展开
查询这个字段的某个小时段内记录,比如2010年1月1号到2010年12月31号这段时间内晚上18:00--24:00的记录。怎么写语句呢?数据库为oracle 10g。 展开
4个回答
展开全部
select * from ms_cf01 a where a.kfrq between to_date('20100101 180000','yyyymmdd hh24miss')
and to_date('20101231 180000','yyyymmdd hh24miss')
and to_char(a.kfrq,'hh24miss') between '180000' and '脊棚240000'
主要用到 to_char,to_date对时间字段的转换方法,具体使用樱启则方法可baidu
如果这么查询,主要是第2个条件无法用上索引,所以最好的方旁早式是在涉及表的时候将该字段拆成2个字段 日期 ,时间,并用整形表示
and to_date('20101231 180000','yyyymmdd hh24miss')
and to_char(a.kfrq,'hh24miss') between '180000' and '脊棚240000'
主要用到 to_char,to_date对时间字段的转换方法,具体使用樱启则方法可baidu
如果这么查询,主要是第2个条件无法用上索引,所以最好的方旁早式是在涉及表的时候将该字段拆成2个字段 日期 ,时间,并用整形表示
展开全部
select * from ms_cf01
where to_number(to_char(kfrq,'yyyymmdd')) between 20100101 and 20121231 --限定日野正中期颂山清兆
and to_number(to_char(kfrq,'hh24miss')) between 180000 and 235959 --限定时间
where to_number(to_char(kfrq,'yyyymmdd')) between 20100101 and 20121231 --限定日野正中期颂山清兆
and to_number(to_char(kfrq,'hh24miss')) between 180000 and 235959 --限定时间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from ms_cf01 where datepart(yy,kfrq)=2010 and datePart(hh,kfrq)>码行斗迟磨带肆=18 and datepart(hh,kfrq)<=24
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询