Oracle中根据时间范围查询数据

Oracle中根据时间范围查询数据,第1张

1、当时间条件字段为字符串类型的时候,通过以下方法查询数据

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等)想办法调整最后的顺序。

1.假设数据库中有一个名为TestTest的表。表格内容如下图所示。

2.Select*fromTesttestwhereMonth(date)='9';,它表示对TestTest表中的9月份记录的查询。

3.单击“Run”执行SQL语句,用户可以从下面看到,9月份的三个记录被查询了。

4.Select*fromTesttestwhereyear(Date)='2017';在美国2017年是被质疑的一年。如下图所示,2017年仅查询了一条记录,如下图。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9940512.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存