Oracle 计算两个日期之间的年月、日期,月份数、天数
目录
Oracle 计算两个日期之间的月份数、月份列表、天数、日期列表
Oracle 计算两个日期之间的月份数、月份列表、天数、日期列表
获取日期之间的月数(包括自身)
时间:2019-05-30 至 2019-08-01
select(MONTHS_BETWEEN ( TRUNC(TO_DATE('2018-08-01','YYYY-MM-DD'),'MONTH'), TRUNC(TO_DATE('2018-05-30','YYYY-MM-DD'),'MONTH') ) + 1) MONTH_COUNT fromdual;
*另一种易理解的方法:
select(MONTHS_BETWEEN ( to_date(to_char(sysdate,'yyyy-MM'),'yyyy-MM'), to_date(to_char(to_date('2019-06-30','yyyy-MM-dd'),'yyyy-MM'),'yyyy-MM') ) + 1) MONTH_COUNT fromdual;
- Result:
MONTH_COUNT 4
- 函数知悉:
- MONTHS_BETWEEN (date1, date2);
- TRUNC(SYSDATE,'MONTH'):
ROUND(d[,fmt]),返回一个以 fmt 为格式的四舍五入日期值,d 是日期,fmt 是格式 模型。默认 fmt 为 DDD,即月中的某一天。 如果 fmt 为“YEAR”则舍入到某年的 1 月 1 日,即前半年舍去,后半年作为下 一年。 如果 fmt 为“MONTH”则舍入到某月的 1 日,即前月舍去,后半月作为下一 月。 默认为“DDD”,即月中的某一天,最靠近的天,前半天舍去,后半天作为第 二天。 如果 fmt 为“DAY”则舍入到最近的周的周日,即上半周舍去,下半周作为下 一周周日。
与 ROUND 对应的函数时 TRUNC(d[,fmt])对日期的操作,TRUNC 与 ROUND 非常相似,只 是不对日期进行舍入,直接截取到对应格式的第一天。
- 获取日期之间的月份列表(包括自身)
- 时间:2019-08-01 至 2020-01-01
- SQL:
selectTO_CHAR(ADD_MONTHS(TO_DATE('2019-08-01','YYYY-MM-DD'),(ROWNUM - 1)), 'yyyy-mm') MOHTN_ID fromdual CONNECT BY ROWNUM <= MONTHS_BETWEEN ( TRUNC(TO_DATE('2020-01-01','YYYY-MM-DD'),'MONTH'), TRUNC(TO_DATE('2019-08-01','YYYY-MM-DD'),'MONTH') ) + 1 ;
- Result:
MOHTN_ID 1 2019-08 2 2019-09 3 2019-10 4 2019-11 5 2019-12 6 2020-01
函数知悉:
ADD_MONTHS(d,n),在某一个日期 d 上,加上指定的月数 n,返回计算后的新日期。 d 表示日期,n 表示要加的月数。
CONNECT BY:connect by 用于存在父子,祖孙,上下级等层级关系的数据表进行层级查询。
获取日期之间的天数、日期列表(包含自身)
时间:2018-01-28 至 2018-02-04SQL:
SELECTTO_CHAR(TO_DATE('2018-01-28', 'YYYY-MM-DD') + ROWNUM - 1, 'YYYY-MM-DD') DAY_ID FROMDUAL CONNECT BY ROWNUM <= TO_DATE('2018-02-04', 'YYYY-MM-DD') - TO_DATE('2018-01-28', 'YYYY-MM-DD') + 1;
Result:
DAY_ID 1 2018-01-28 2 2018-01-29 3 2018-01-30 4 2018-01-31 5 2018-02-01 6 2018-02-02 7 2018-02-03 8 2018-02-04
知悉:
TO_DATE(data1) - TO_DATE(date2) :天数
Oracle 计算两个日期之间的年月、日期,月份数、天数相关推荐
- Oracle 计算两日期间隔月数
Oracle 计算两日期之间月数 实际应用中,有时候会计算两日期间隔天数.月数.如直接相减,可能会出问题,如: select 202110-202106 from dual; 结果为:4 看似正确,但 ...
- oracle俩个日期的差,oracle计算两个日期的时间差时分秒
Oracle函数可以实现诸多的功能,下面就介绍使用oracle函数计算时间差的实现方法. 两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差(分别以天,小时,分钟,秒 ...
- python时间差转换成天数_Python实现计算两个时间之间相差天数的方法
本文实例讲述了Python实现计算两个时间之间相差天数的方法.分享给大家供大家参考,具体如下: #-*- encoding:UTF-8 -*- from datetime import date im ...
- 使用TIMESTAMPDIFF计算两个时间戳之间的时间间隔需要注意的细节
问题阐述 A表中有字段如下: DROP TABLE IF EXISTS `A`; CREATE TABLE IF NOT EXISTS `A` (`userId` int(10) unsigned N ...
- 怎样计算两个时间之间的间隔
怎样计算两个时间之间的间隔 1. 怎样计算两个时间之间的间隔? 间隔=Date1.getTime()-Date2.getTime();得出来的是毫秒数. 除1000是秒,再除60是分,再除60是小时. ...
- 计算两个时间之间的工作时长
计算两个时间之间的工作时长(小时)排除周末 package com.test;import org.apache.commons.lang3.time.DateUtils;import java.ma ...
- JS 返回两个时间之间的所有日期、月份、年份、季度
JS 返回两个时间之间的所有日期.月份.年份.季度 1.日期 /*** 获取两日期之间日期列表函数* 返回两个时间之间所有的日期* 参数示例 ('2021-05-31','2021-06-30')* ...
- python简单获取两个日期之间的年度、月度、天数差的方法
最近因为要做一些简单的结算工作,里面有一些规则需要对年度.月份.天数进行比较,在网上查了半天,忽然发现python进行年度.月份.日期处理这么难?!居然只是要计算两个时间之间的月份差,还要数十行代码! ...
- python时间差计算器时分秒_Python实现计算两个时间之间相差天数的方法
本文实例讲述了Python实现计算两个时间之间相差天数的方法.分享给大家供大家参考,具体如下: #-*- encoding:UTF-8 -*- from datetime import date im ...
最新文章
- windows家庭版 启用组策略
- MTK 驱动(72)---mtk Android如何调试recovery模块
- 电脑太慢了最简单的办法怎么弄_电脑感染病毒的10种症状及简单处理办法 电脑中病毒的症状介绍...
- 程序员如何在未来之路寻找自己的“龙椅”
- 了解PS、学习使用html语义化标签和CSS术语
- html5 塔防小游戏,HTML5塔防小游戏源代码
- 像计算机科学家那样思考,如何像计算机科学家一样思考?(C语言篇)
- [luogu4234]最小差值生成树
- JScript基本认知
- mmdetection在bbox head中获取epoch值
- 企业遇到什么问题一定要用360评估?
- STM32超低功耗入门之唤醒
- WLAN/Wifi802.11协议简介
- 2018年2月Ivanti英万齐(前LANDESK蓝代斯克)关闭中国研发中心
- autojs免root脚本引擎开发的QQ空间说说点赞源码
- Unity 内置访问安卓权限
- matlab中facedetector,Matlab人脸检测方法(Face Parts Detection)详解
- python中continue的用法_关于Python中continue用法问题
- 如何解决医院网站商务通无轨迹来源路径的问题
- (day2-spring和mybatis学习)-->重点增删改查
热门文章
- mysql数据备份合理计划_计划备份mysql数据库
- 关于element ui中引入官方的NavMenu时出现点击某个子菜单时,所有的子菜单全都展开问题
- CrossOver2022Mac/Linux虚拟机软件如何安装下载教程
- 内存数据库如何发挥内存优势?
- java基于Android studio的校园通设计
- 协程的原理及协程在高并发服务中的应用
- 大前端 - 泛客户端开发 - UniAPP项目实战
- 【逗老师带你学IT】PRTG监控通过Python+TCP Modbus获取温湿度传感器数据
- Win64上底层方式模拟按键制作GTA外挂
- 面试中常被问到(25)map和pair区别