还在苦恼months_between?教你快速得出结果!

吉云

今儿个,咱来聊聊在数据库里头咋算两个日子之间隔几个月。这事儿,说白,就是用个叫 MONTHS_BETWEEN 的家伙。

动手试试

我也不太明白这玩意儿咋用,就想着,先找个地儿试试手。我平时用的是 Oracle 数据库,就直接拿它开刀。

还在苦恼months_between?教你快速得出结果!

我先是建个小表格,里头就俩字段,都是存日期的。然后,我往里头塞几对儿日子,就准备开始算算它们之间差几个月。

写两句代码

这计算月份差的“家伙什”叫 MONTHS_BETWEEN,用起来也简单:

MONTHS_BETWEEN(日期1, 日期2)

把你想算的两个日期往里头一放,它就给你吐出个数来,就是这俩日子之间差的月份。

我写个简单的查询语句:

还在苦恼months_between?教你快速得出结果!

SELECT MONTHS_BETWEEN(日期字段1, 日期字段2) FROM 我的小表格;

跑起来看看

把这代码一跑,结果出来!

  • 要是“日期1”比“日期2”晚,算出来的就是个正数。
  • 要是“日期1”比“日期2”早,算出来的就是个负数。
  • 还在苦恼months_between?教你快速得出结果!

  • 它给出的数还挺精确,带小数点的,表示不够一个月的零头。

比如说,我试 '2023-10-26' 和 '2023-05-15' 这俩日子,算出来是 5.3548387, 意思就是说差五个多月。

一点小发现

在捣鼓的过程中,我还发现:

    还在苦恼months_between?教你快速得出结果!

  • 这 MONTHS_BETWEEN 挺厉害的,不管你给的日期是哪年哪月哪日,它都能给你算出个数来。

  • 还在苦恼months_between?教你快速得出结果!

    算出来的结果是个小数,整数部分就是差的整月份数,小数部分就是零头天数换算成的月份。

这 MONTHS_BETWEEN 用起来是真方便,以后再遇到要算两个日期差几个月的事儿,我就不用自己掰手指头!

还在苦恼months_between?教你快速得出结果!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]