更新时间:2023-11-03 GMT+08:00

months_between

months_between函数用于返回date1与date2之间的月份差。

命令格式

months_between(string date1, string date2)

参数说明

表1 参数说明

参数

是否必选

参数类型

说明

date1

DATE

STRING

代表被减数。

格式为:
  • yyyy-mm-dd
  • yyyy-mm-dd hh:mi:ss
  • yyyy-mm-dd hh:mi:ss.ff3

date2

DATE

STRING

代表减数。

格式为:
  • yyyy-mm-dd
  • yyyy-mm-dd hh:mi:ss
  • yyyy-mm-dd hh:mi:ss.ff3

返回值说明

返回DOUBLE类型的值。

  • date1、date2非DATE或STRING类型时,返回报错,错误信息:data type mismatch。
  • date1、date2为DATE或STRING类型,但不符合日期值的入参格式时,返回NULL。
  • 当date1晚于date2时,返回值为正。当date2晚于date1时,返回值为负。
  • 当date1和date2分别对应两个月的最后一天,返回整数月;否则计算方式为date1减去date2的天数除以31天。
  • date1或date2值为NULL时,返回NULL。

示例代码

返回0.0563172。

select months_between('2023-08-16 10:54:00', '2023-08-14 17:00:00');

返回0.06451613。

select months_between('2023-08-16','2023-08-14');

返回NULL。

select months_between('2023-08-16',null);