例如 给定 2008年3月到2008年8月,
我想得到这样一列,请问用一条查询sql写出来,
月份
3
4
5
6
7
8
然后想与一个数据表做全关联,不管3到8月有没有数据都作为一行查询出来,
select extract(month from mo) from (select rownum ,add_months(to_date(20080301,'YYYYMMdd'),rownum)mo from dual connect by rownum<10);
select 1 as m from dual
union all
select 2 from dual
union all
select 3 from dual
union all
select 4 from dual
union all
select 5 from dual
union all
select 6 from dual
union all
select 7 from dual
union all
select 8 from dual
union all
select 9 from dual
union all
select 10 from dual
union all
select 11 from dual
union all
select 12 from dual;
SELECT TO_NUMBER(TO_CHAR(TO_DATE('2008-03', 'yyyy-mm'), 'MM')) + ROWNUM - 1 MONTH
FROM DUAL
CONNECT BY ROWNUM <=
MONTHS_BETWEEN(TO_DATE('2008-08', 'yyyy-mm'),
TO_DATE('2008-03', 'yyyy-mm')) + 1
输出:
MONTH
3
4
5
6
7
8
SELECT TO_NUMBER (TO_CHAR (TO_DATE ('2008-03', 'yyyy-mm'), 'MM'))
+ ROWNUM
- 1 "Month"
FROM all_objects
WHERE ROWNUM <=
MONTHS_BETWEEN (TO_DATE ('2008-08', 'yyyy-mm'),
TO_DATE ('2008-03', 'yyyy-mm')
)
+ 1
于是,这次SEO学习咱就改变思路,先啃下一两本参考书来,带着问题请教度娘,既可以学到系统知识,也不至于在网络知识海洋里迷失方向。本次参考图书:《SEO搜索引擎优化:技巧、策略与实战案例》,不是摆摊的,感兴趣...
简单做了个测试,希望对你有帮助。创建表和测试数据CREATE TABLE t_log(f_time DATE, f_value NUMBER);insert into T_LOG (F_TIME, F_VALUE)values (to_date('24-02-2017 12:00:00', 'dd-mm-yyyy hh24:mi:ss'), 100)...
一张激活表TL_CSU_ACTIVATE_LOG: ...现在要查询2014-12to2015-12每月注册的不同类型(T,B,M,D)用户数,如下图:  sql 应该怎么写
简单用inner join group by 之类的,但是如果在两个表数据量都很多的情况下应该做?xie'xie