查询时间范围内对应的年
select
to_char (
add_months (
to_date ('2013', 'yyyy'),
(rownum - 1) * 12
),
'yyyy'
) as years
from
dual connect by rownum <= months_between (
to_date ('2018', 'yyyy'),
to_date ('2013', 'yyyy')
) / 12 + 1
查询时间范围内对应的月份
select
to_char (
add_months (
to_date ('2017-10', 'yyyy-mm'),
rownum - 1
),
'yyyy-mm'
) as months
from
dual connect by rownum <= months_between (
to_date ('2018-04', 'yyyy-mm'),
to_date ('2017-10', 'yyyy-mm')
) + 1
查询时间范围内对应的日期
select
to_char (
to_date ('2017-11-01', 'yyyy-mm-dd') + rownum - 1,
'yyyy-mm-dd'
) as time
from
dual connect by rownum <= trunc (
to_date ('2017-12-01', 'yyyy-mm-dd') - to_date ('2017-11-01', 'yyyy-mm-dd')
) + 1
查询一天的24 个小时
select
to_char (
to_date ('2017-01-01', 'yyyy-mm-dd') + (rownum - 1) / 24,
'hh24'
) as hour
from
dual connect by 24 >= rownum
当然 以上的sql语句都是基于oracle的 ,对于其他的数据库并不是很合适。
查询出一定时间范围内的年 月,日, 主要是为了left join 其他数据时使用的。一般来说 ,在查询报表数据的时候比较实用,接下来会写关于sql server 数据库 根据时间范围 查询 时间范围内的 年 ,月, 日 以及 一天的24小时的sql 语句
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!