永发信息网

oracle计算月份间隔问题

答案:2  悬赏:80  手机版
解决时间 2021-02-27 11:09
请教高手一下,我要查询200903--200901之间间隔了几个月,然后把每个月的数据累加,怎么写?
另外,如果跨年了,怎么弄,比如200902--200812
最佳答案
使用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
********************************
---
以上,希望对你有所帮助。
全部回答
因为oracle的时间间隔是按天来算的,因为一天有1440分钟, 第一个查询是90分钟,90/1440=0.0625,0.625*24*60=90,这个没问题, 第二个查询是30分钟,30/1440=0.020833333333333333333333333333333, 0.020833333333333333333333333333333*24*60=29.99999999999999999999999999952, 因为数据长度的问题,最后就是29.9999999999999999999999999995
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
高考理科考599在河北省排多少名?
荣城地产春之城店地址有知道的么?有点事想过
A公司2012年发生债务利息500万元(全部计入财
水泵节能改造方案水泵如何节能
分手不伤心,却很想他,是爱吗
重大疾病保险,做脊柱侧弯矫正手术或因脊柱侧
假如我辞职批到月底,而老板就提前二天叫我走
电脑蓝屏出现0x00000007错误代码是什么
陕汽集团华臻物流公司我想知道这个在什么地方
黄色加黑色染发时间长是不是会变黑?
手天生很皱怎么办
女子之修身:外正其容,内正其心.平凡而不平庸,
忘记了苹果手机icloud密码了又不知道邮箱怎么
I am going to have the remediation.
手机系统设置里没有辅助功能这个,有办法添加
推荐资讯
中都北路/榆罕线(路口)怎么去啊,有知道地址
“你爱的好犹豫”是哪首歌里面的歌词啊?
为什么co2中碳上有两个双键
中惠广告图文印刷我想知道这个在什么地方
我买了一块俄罗斯蜜蜡不知是真是假
沛县沛城镇鼓楼社区居民委员会我想知道这个在
论文的索引是什么
冰塘早茶这个地址在什么地方,我要处理点事
品香阁茶业地址在什么地方,想过去办事
蓟的果实靠什么传播
鸿坤集团旗下都有什么项目呀
谈谈倒置显微镜和正置显微镜的区别与联系
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?