我想用SQL查询出两个时间点之间所跨的月份,比如查询2007-03-01和2008-01-02之间的月份,查询结果就象下面这样:
200703
200704
200705
200706
200707
200708
200709
200710
200711
200712
200801
请问SQL应该怎么写?
chenqingyu同学回答道:
select
to_char(add_months(to_date(
'
20070301
'
,
'
yyyymmdd
'
),rownum
-
1
),
'
yyyymm
'
)
as
month
from
dual
connect
by
add_months(to_date(
'
20070301
'
,
'
yyyymmdd
'
),rownum
-
1
)
<=
trunc(to_date(
'
20080102
'
,
'
yyyymmdd
'
),
'
mm
'
)
order
by
month
asc
本文介绍了一种使用SQL查询指定日期范围内所有月份的方法。通过一个具体示例展示了如何从2007年3月到2008年1月的所有月份,并提供了实现这一功能的具体SQL代码。
1462

被折叠的 条评论
为什么被折叠?



