下面說明了TIMESTAMPDIFF函數的語法。
TIMESTAMPDIFF(unit,begin,end);
TIMESTAMPDIFF函數返回begin-end的結果,其中begin和end是DATE或DATETIME表達式。
TIMESTAMPDIFF函數允許其參數具有混合類型,例如,begin是DATE值,end可以是DATETIME值。 如果使用DATE值,則TIMESTAMPDIFF函數將其視為時間部分為“00:00:00”的DATETIME值。
unit參數是確定(end-begin)的結果的單位,表示為整數。 以下是有效單位:
MICROSECOND 微秒
SECOND 秒
MINUTE 分鍾
HOUR 小時
DAY 天
WEEK 周
MONTH 月份
QUARTER
YEAR 年份
MySQL TIMESTAMPDIFF函數示例
以下示例將以月份值的形式返回2018-01-01和2018-06-01的差值:
mysql> SELECT TIMESTAMPDIFF(MONTH, ‘2018-01-01’, ‘2018-06-01’) result;
如果您希望看到差值,只需要將unit參數從MONTH更改為DAY,如下所示:
mysql> SELECT TIMESTAMPDIFF(DAY, ‘2010-01-01’, ‘2010-06-01’) result;
使用MySQL TIMESTAMPDIFF函數計算年齡
mysql> SELECT TIMESTAMPDIFF(YEAR, ‘2010-01-01’,NOW()) AGE;