oracle怎么查询月份,oracle查询一年所有月份

oracle列出指定时间范围内的所有月份?

这是递归写法的问题,在8,9i升级新版本过程中经常遇到类似问题.这个在10g,11g以后跑应该都没问题,在9i按以下方法写可以实现:

创新互联建站IDC提供业务:西信服务器托管,成都服务器租用,西信服务器托管,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。

SELECT TO_CHAR (ADD_MONTHS (TO_DATE ('2011-03', 'yyyy-mm'), ROWNUM - 1),'YYYY-MM') AS yearmonth FROM all_objects

WHERE ROWNUM =(SELECT MONTHS_BETWEEN (TO_DATE ('2012-07', 'yyyy-mm'),TO_DATE ('2011-03', 'yyyy-mm')) FROM DUAL)

oracle 查询当月份的上一个月

1、创建测试表,

create table test_date_2(id int, v_date date);

2、插入测试数据

insert into test_date_2 values(1,sysdate);

insert into test_date_2 values(2,sysdate-20);

insert into test_date_2 values(3,sysdate-30);

insert into test_date_2 values(4,sysdate-40);

commit;

3、查询表中全量数据,select t.* from test_date_2 t;

4、编写语句,查询当月份的上一个月;

select t.*, add_months(v_date,-1) v_date2 from test_date_2 t;

你知道oracle怎么查 本周,本月,和上月的数据吗

当月数据

select * from table t

where t.create_time

=TRUNC(SYSDATE, 'MM')

and

t.create_time=last_day(SYSDATE) create_time为你要查询的时间

当年数据

select * from table t

where t.create_time

=trunc(sysdate,'YYYY')

and

t.create_time=add_months(trunc(sysdate,'YYYY'),12)-1

本周(国外周日为一个星期第一天)

where t.create_time =trunc(sysdate,'day')+1 and

t.create_time=trunc(sysdate,'day')+6 本周(国内周一为一个星期第一天)

where t.create_time =trunc(next_day(sysdate-8,1)+1) and

t.create_time=trunc(next_day(sysdate-8,1)+7)+1


当前名称:oracle怎么查询月份,oracle查询一年所有月份
文章源于:http://azwzsj.com/article/dscdgcg.html