TIMESTAMPDIFF

TIMESTAMPDIFF(unit, startTimestamp, endTimestamp)

功能描述

TIMESTAMPDIFF 函数用于计算两个时间戳(startTimestamp 和 endTimestamp)之间的时间差,并以指定的单位(unit)返回结果。该函数支持多种时间单位,包括微秒(MICROSECOND)、毫秒(MILLISECOND)、秒(SECOND)、分钟(MINUTE)、小时(HOUR)、天(DAY)、周(WEEK)、月(MONTH)、季度(QUARTER)和年(YEAR)。

参数说明

  • unit
    unit
    :所需时间差的单位,可选值包括
    MICROSECOND
    MICROSECOND
    (微秒)、
    MILLISECOND
    MILLISECOND
    (毫秒)、
    SECOND
    SECOND
    (秒)、
    MINUTE
    MINUTE
    (分钟)、
    HOUR
    HOUR
    (小时)、
    DAY
    DAY
    (天)、
    WEEK
    WEEK
    (周)、
    MONTH
    MONTH
    (月)、
    QUARTER
    QUARTER
    (季度)和
    YEAR
    YEAR
    (年)。
  • startTimestamp
    startTimestamp
    :开始时间戳,需为 timestamp 类型。
  • endTimestamp
    endTimestamp
    :结束时间戳,需为 timestamp 类型。

返回结果

返回一个整型数值,表示从

startTimestamp
startTimestamp
endTimestamp
endTimestamp
之间的时间差,单位由参数
unit
unit
决定。

使用示例

  1. 计算两个时间戳之间相差的微秒数:

SELECT TIMESTAMPDIFF(MICROSECOND, '2022-03-31 00:00:00', '2022-03-30 06:00:00') as res; +--------------+ | res | +--------------+ | -64800000000 | +--------------+

  1. 计算两个时间戳之间相差的小时数:

SELECT TIMESTAMPDIFF(HOUR, '2022-03-31 00:00:00', '2022-03-30 06:00:00') as res ; +-----+ | res | +-----+ | -18 | +-----+

  1. 计算两个时间戳之间相差的天数:

SELECT TIMESTAMPDIFF(DAY, '2022-03-31 00:00:00', '2022-03-30 06:00:00') as res; +-----+ | res | +-----+ | 0 | +-----+

  1. 计算两个时间戳之间相差的月份数:

SELECT TIMESTAMPDIFF(MONTH, '2022-03-31 00:00:00', '2022-02-28 06:00:00')as res; +-----+ | res | +-----+ | -1 | +-----+

  1. 计算两个时间戳之间相差的年数:

SELECT TIMESTAMPDIFF(YEAR, '2022-03-31 00:00:00', '2021-03-30 06:00:00') as res; +-----+ | res | +-----+ | -1 | +-----+

联系我们
预约咨询
微信咨询
电话咨询