oracle计算月份间隔问题

请教高手一下,我要查询200903--200901之间间隔了几个月,然后把每个月的数据累加,怎么写?另外,如果跨年了,怎么弄,比如200902--200812就是表里的每... 请教高手一下,我要查询200903--200901之间间隔了几个月,然后把每个月的数据累加,怎么写?
另外,如果跨年了,怎么弄,比如200902--200812
就是表里的每个月都有数据,比如我要查询200903--200901这三个月的数据总数,怎么弄?
months_between这个我用了,但是要是跨年了,用for循环,数据累加怎么弄
展开
 我来答
奔驰M888
推荐于2016-03-23 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1846
采纳率:0%
帮助的人:2754万
展开全部
使用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
********************************
---
以上,希望对你有所帮助。
百度网友9ab3e7dc0
2009-04-22
知道答主
回答量:16
采纳率:0%
帮助的人:18.6万
展开全部
把每个月的数据累加

select month,sum(数据) from ***
having month between 200812 and 200902
group by month

大致是这个意思。
细节需要你注意。

有问题,接着一起探讨。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式