求一个oracle函数
在一张表中查询数据,数据所在的年份是08、09和10年,但时间条件是查询03-12年间的,如果按照常规写法,查询出08、08和10年的就对了,但现在要求其余年份没有数据也...
在一张表中查询数据,数据所在的年份是08、09和10年,但时间条件是查询03-12年间的,如果按照常规写法,查询出08、08和10年的就对了,但现在要求其余年份没有数据也要列出一行,这个好难写啊,惟一想到的方法就是将开始时间2003-1-1和结束时间2012-1-1传到一个函数中返回一张表,表如下
2003-1-1
2004-1-1
2005-1-1
……
2012-1-1
然后再与上面已经查询出的结果left join一下就行了,但不知道函数应该怎样写,求高手 展开
2003-1-1
2004-1-1
2005-1-1
……
2012-1-1
然后再与上面已经查询出的结果left join一下就行了,但不知道函数应该怎样写,求高手 展开
1个回答
2012-12-08
展开全部
SELECT
ADD_MONTHS( TO_DATE( '20020101', 'YYYYMMDD' ), rownum * 12 )
FROM
ALL_OBJECTS
WHERE
ADD_MONTHS( TO_DATE( '20020101', 'YYYYMMDD' ), rownum * 12 ) <= TO_DATE( '20120101', 'YYYYMMDD' )
ADD_MONTHS( TO_DATE( '20020101', 'YYYYMMDD' ), rownum * 12 )
FROM
ALL_OBJECTS
WHERE
ADD_MONTHS( TO_DATE( '20020101', 'YYYYMMDD' ), rownum * 12 ) <= TO_DATE( '20120101', 'YYYYMMDD' )
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询