
oracle计算月份间隔问题
请教高手一下,我要查询200903--200901之间间隔了几个月,然后把每个月的数据累加,怎么写?另外,如果跨年了,怎么弄,比如200902--200812就是表里的每...
请教高手一下,我要查询200903--200901之间间隔了几个月,然后把每个月的数据累加,怎么写?
另外,如果跨年了,怎么弄,比如200902--200812
就是表里的每个月都有数据,比如我要查询200903--200901这三个月的数据总数,怎么弄?
months_between这个我用了,但是要是跨年了,用for循环,数据累加怎么弄 展开
另外,如果跨年了,怎么弄,比如200902--200812
就是表里的每个月都有数据,比如我要查询200903--200901这三个月的数据总数,怎么弄?
months_between这个我用了,但是要是跨年了,用for循环,数据累加怎么弄 展开
展开全部
使用months_between函数实现,具体参照如下:
SQL> select months_between(to_date(200902,'yyyymm'),to_date(200812,'yyyymm')) as ans from dual;
ANS
----------
2
至于把每个月的数据累加,没有明白你的意思。
*******关于数据累加补充:********
select sum(你要求的字段) from table_name where months between 200903 and 200901;
能达到你要求么?
SQL> desc test_z
Name Null? Type
----------------------------------------- -------- ----------------------------
SN VARCHAR2(10)
DATETIME VARCHAR2(20)
SQL> truncate table test_z;
Table truncated.
SQL> insert into test_z values('1','20090101');
1 row created.
SQL> insert into test_z values('2','20090201');
1 row created.
SQL> select sum(SN) from test_z where DATETIME between 20090101 and 20090201;
SUM(SN)
----------
3
********************************
---
以上,希望对你有所帮助。
SQL> select months_between(to_date(200902,'yyyymm'),to_date(200812,'yyyymm')) as ans from dual;
ANS
----------
2
至于把每个月的数据累加,没有明白你的意思。
*******关于数据累加补充:********
select sum(你要求的字段) from table_name where months between 200903 and 200901;
能达到你要求么?
SQL> desc test_z
Name Null? Type
----------------------------------------- -------- ----------------------------
SN VARCHAR2(10)
DATETIME VARCHAR2(20)
SQL> truncate table test_z;
Table truncated.
SQL> insert into test_z values('1','20090101');
1 row created.
SQL> insert into test_z values('2','20090201');
1 row created.
SQL> select sum(SN) from test_z where DATETIME between 20090101 and 20090201;
SUM(SN)
----------
3
********************************
---
以上,希望对你有所帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询