重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、当时间条件字段为字符串类型的时候,通过以下方法查询数据:
专注于为中小企业提供成都网站建设、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业武都免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
1.1、SELECT * FROM 表名 t WHERE 1=1 AND to_date(t.tkdat,'yyyy/MM/dd')
between to_date('2017/8/1','yyyy/MM/dd') and to_date('2017/11/1','yyyy/MM/dd');
1.2、SELECT * FROM zsd018a t WHERE 1=1 AND to_date(t.tkdat,'yyyy/MM/dd hh24:mi:ss')
between to_date('2017/8/1','yyyy/MM/dd hh24:mi:ss') and to_date('2017/11/1','yyyy/MM/dd hh24:mi:ss');
2、当时间条件为date类型的时候,通过以下方法查询数据:
select * from zmm028 where to_char(tkdat,'YYYY-MM-DD')='2017-10-01'
and to_char(tkdat,'YYYY-MM-DD')='2017-11-02' ;
你查到的是2022-06-21的数据,那么只需要再加一天2021-06-21不就可以了,在时间的地方加一个or,用扩考括起来就可以了。然后在group by和orderby的时候,加一个出院时间就OK了。
不过现在这个时间不能直接用,因为你的出院时间是包括时分秒的,这里你需要截取到日,不然group by和orderby的时候的时候也会按照时分秒去分组排序的。
至于出来以后的显示结果什么样,要看你要的是什么样子,然后再用其他分组调整函数(比如cube等)想办法调整最后的顺序。
如果是自己即时的查询数据的时间,就在查询语句中添加 sysdate,获取当前数据的时间。
写法有很多种,例如下面的:
方法一:select * from dual where time between to_date('2012-06-18 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2012-06-18 23:59:59','yyyy-mm-dd hh24:mi:ss');
方法二:select * from dual where to_char(time,'yyyy-mm-dd')='2012-06-18';
方法三:select * from dual where trunc(time)=to_date('2012-06-18','yyyy-mm-dd');
当然楼主也可以按上面的先转换下日期的显示格式再查询撒,都可以的,呵呵!!!