我有一组上周创建的记录,我只想从中检索 6 点 45 分到 19 点 15 分之间创建的记录。我有一个专栏creation_date
我可以使用。
我怎样才能在sql中做到这一点?
在 Oracle 中,我们可以将日期转换为数字,并以多种方式对其应用算术。
例如sysdate-7
给我们7天前的日期。trunc(some_date)
从日期列中删除时间元素。和to_char(some_date, 'SSSSS')
给我们它的时间元素作为自午夜以来的秒数。所以 06:45:00 是 24300 秒,18:15:59 是 69359 秒(请检查这些数字,因为它们是信封背面的数字)。
无论如何,将所有这些放在一个查询中,如下所示......
select *
from your_table
where creation_date >= trunc(sysdate)-7
and to_number(to_char(creation_date, 'sssss')) between 24300 and 69359
...将生成上周创建的所有记录,其中时间元素在核心时间内。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)