TIMESTAMPDIFF
函数在MySQL中用于计算两个日期或时间之间的差异,并以指定的单位返回结果。这个函数特别适用于需要计算时间差或者对日期和时间进行操作的场景。
以下是一些TIMESTAMPDIFF
函数的使用场景示例:
源表employees
![](https://file.jishuzhan.net/article/1721187973426319361/c13d545b01eb7244ada13e06db24b873.webp)
- 计算两个日期之间的天数差异:
sq
SELECT
*,
TIMESTAMPDIFF( DAY, '2016-11-01 00:00:00', hire_date ) AS days_diff
FROM
employees
![](https://file.jishuzhan.net/article/1721187973426319361/c82381c420f28f64fb93c34f8fe91d36.webp)
- 计算两个日期之间的月份差异:
sql
SELECT
*,
TIMESTAMPDIFF( MONTH, '2016-11-01 00:00:00', hire_date ) AS months_diff
FROM
employees
![](https://file.jishuzhan.net/article/1721187973426319361/f6ba1d9322204024498d08ee513fb0c7.webp)
- 计算两个日期之间的年份差异:
sql
SELECT
*,
TIMESTAMPDIFF( YEAR, '2016-11-01 00:00:00', hire_date ) AS years_diff
FROM
employees
![](https://file.jishuzhan.net/article/1721187973426319361/79cee3dea83dedfec6d410eb7916e1b6.webp)
- 计算两个时间之间的小时差异:
sql
SELECT
*,
TIMESTAMPDIFF( HOUR, '2016-11-01 00:00:00', hire_date ) AS hours_diff
FROM
employees
![](https://file.jishuzhan.net/article/1721187973426319361/28b14b84ad787e6d1590df88b79d8aad.webp)
后面计算两个时间之间的分钟和秒钟分别改成MINUTE 和 SECOND 即可