gpt4 book ai didi

sql - 甲骨文从时间范围内选择月份

转载 作者:搜寻专家 更新时间:2023-10-30 20:11:38 28 4
gpt4 key购买 nike

给定一个表 t(id,from,to),其中 from 和 to 是跨越多年的两个日期,我想对该表进行选择,对于表 t 中的每个时间范围,我将返回该时间范围内的月/年列表。例如。表 t 的内容将是:

id     from               to
1 01.10.2011 28.02.2012
2 01.06.2008 30.09.2008

select 语句应该返回 id,年中的月数,年:

1  10   2011
1 11 2011
1 12 2011
1 01 2012
1 02 2012
2 06 2008
2 07 2008
2 08 2008
2 09 2008

任何想法我怎么能做到这一点?谢谢!

最佳答案

你应该使用 row generator :

 select 
id,
ADD_MONTHS( "from", N.N ),
to_char( dt_column, 'mm' ) ,
to_char( dt_column, 'yyyy' )
from
yourTable t
inner join
(SELECT ROWNUM n
FROM ( SELECT 1 just_a_column
FROM dual
CONNECT BY LEVEL <= 365
) N
on ADD_MONTHS( "from", N.N ) <= last_day( t."to" )

关于sql - 甲骨文从时间范围内选择月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9464952/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com