数据库的日期区间查询方法。

数据库的日期区间查询方法。,第1张

有两种方式:to_char方式和to_date方式

假设要查询2011-05-02到2011-05-30之间的数据,实现方式如下:

to_date方式:

select

*

from

tablename

where

time>=to_date('2011-05-02','yyyy-mm-dd')

and

time

<=

to_date('2011-05-30','yyyy-mm-dd')

运行的结果是:可以显示05-02的数据,但是不能显示05-30的数据。

运行的结果是:可以显示05-02的数据,但是不能显示05-30的数据。

所有可以得出结论:

①如果想显示05-30的数据可以to_date('2011-05-31','yyyy-mm-dd'),这样就能显示30号的了。

②如果想要显示05-30的数据可以to_date('2011-05-30

23:59:59

999','yyyy-mm-dd

hh24:mi:ss')也是可以查出来的。

to_char方式:

同样查询上面两个日期

select

*

from

tablename

where

to_char(time,'yyyy-mm-dd')>=2011-05-02

and

to_char(time,'yyyy-mm-dd')<=2011-05-3

查询结果:可以同时显示05-02和05-30的数据。

另外:可以用between

and

代替

>=符号

你查到的是2022-06-21的数据,那么只需要再加一天2021-06-21不就可以了,在时间的地方加一个or,用扩考括起来就可以了。然后在group by和orderby的时候,加一个出院时间就OK了。

不过现在这个时间不能直接用,因为你的出院时间是包括时分秒的,这里你需要截取到日,不然group by和orderby的时候的时候也会按照时分秒去分组排序的。

至于出来以后的显示结果什么样,要看你要的是什么样子,然后再用其他分组调整函数(比如cube等)想办法调整最后的顺序。


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

原文地址: http://outofmemory.cn/sjk/9995515.html

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

发表评论

登录后才能评论

评论列表(0条)

保存