文档章节

ORACLE函数MONTHS_BETWEEN

小小明童鞋
 小小明童鞋
发布于 03/27 13:26
字数 418
阅读 81
收藏 0

因系统折旧月份是按当月是否满15天来算是否为一个月,故此研究了下MONTHS_BETWEEN已适应折旧的逻辑

  • 官网函数说明:

MONTHS_BETWEEN官网说明

MONTHS_BETWEEN returns number of months between dates date1 and date2. If date1 is later than date2, then the result is positive. If date1 is earlier than date2, then the result is negative. If date1 and date2 are either the same days of the month or both last days of months, then the result is always an integer. Otherwise Oracle Database calculates the fractional portion of the result based on a 31-day month and considers the difference in time components date1 and date2.

MONTHS_BETWEEN返回日期date1和date2之间的月数。如果date1晚于date2,则结果为正数。如果date1早于date2,则结果为负。如果date1和date2是一个月的相同天数或两个月的最后几天,那么结果总是一个整数。否则,Oracle数据库将根据一个31天的月份计算结果的小数部分,并考虑date1和date2时间组件的差异。

examples:

`SELECT MONTHS_BETWEEN (TO_DATE('02-02-2020','MM-DD-YYYY'), TO_DATE('01-01-2020','MM-DD-YYYY') ) "Months" FROM DUAL;

Months

1.03225806`

months_between算法为01-01-2020到02-02-2020,2020年一月份算一个整月,不整的为2月份的两天,

于是 MONTHS_BETWEEN (TO_DATE('02-02-2020','MM-DD-YYYY'),TO_DATE('01-01-2020','MM-DD-YYYY') ) = 1+2/31=1.03225806

一般也就是months_between的两个参数月需要计算小数部分,最多为开始月算小数+中间月+结束月算xiao'shu;最少为不算,直接为整数月

© 著作权归作者所有

小小明童鞋
粉丝 42
博文 95
码字总数 100798
作品 0
南京
程序员
私信 提问
加载中

评论(0)

Oracle迁移PostgreSQL经验总结(SQL部分,未完待续)

序号 项目 Oracle PostgreSQL 1 当前时间 SYSDATE 可全部使用current_timestamp替换 2 序列 SEQNAME.NEXTVAL NEXTVAL('SEQNAME') 3 固定值列 SELECT '1' AS COL1 SELECT CAST('1' AS TEXT) ......

李玉珏
2015/12/04
1.2W
14
Oracle学习记录 六 又一本学习资料练习

学习过最简单的几种语句了,也安装过了几次数据库,本来在看那个高级编程的,但是还有一本入门的没看,就先看了再说, 多练习,熟悉掌握最基本的操作。 我以前登录的时候都是用conn回车,然后...

卜星星
2015/03/05
56
0
Oracle常用函数

Oracle常用函数 1、NVL()函数 语法:NVL(expr1, expr2) 含义:如果expr1的计算结果为null值,则NVL()返回expr2。如果expr1的计算结果不是null值,则返回 expr1.expr1和expr2可以是任意一种数...

旺仔520
2014/05/06
0
0
Oracle 单行函数

常见字符函数 常见数值函数 四舍五入: 去尾: 求模(取余): 常见日期函数 sysdate 获取系统当前时间(数据库)months_between 两个日期间的相差月数add_months 获取几个月后的日期last_da...

chrisd
2016/11/11
8
0
Oracle中的日期类型及常用函数

oracle 数据类型详解---日期型(转载) oracle 数据类型详解---日期型 oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资...

猴亮屏
2014/06/03
215
0

没有更多内容

加载失败,请刷新页面

加载更多

郑州哪哪里可以开工程款发票-郑州_新闻网

【电薇同步;1.3.8 - 2.7.4.1 - 5.2.9.7.】张生、诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridge,是Android手机通用...

yyqqvip
40分钟前
30
0
Nginx 反向代理访问

在Nginx 配置 server { listen 80; server_name www.xiaocx.org www.xiaocx.org www.xiaocx.org; root /Users/maison/work/xiaocx/dist; index i......

韩庚庚
44分钟前
33
0
python笔记:环境变量已设置CMD中一直报错"python"不是内部命令,也不是可运行的程序或批处理文件

这些天虽然也写了几个小工具,但是打包都是在anaconda prompt中完成的,因为CMD中一直报错"python"不是内部命令,也不是可运行的程序或批处理文件,各种查度,千篇一律的是环境变量配置的问题...

小玲_001
46分钟前
13
0
AI+BI服务模式

术语与缩写解释 缩写、术语 解 释 BI 商业智能(Business Intelligence,简称:BI),又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析...

zoegu228
47分钟前
20
0
leetcode1227(面试题 17.09. 第 k 个数)--C语言实现

求: 有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。 示例 1:...

拓拔北海
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部