我對使用 TIMESTAMPDIFF 函式時得到的結果有些困惑
select '2021-05-01',CURRENT_DATE(),TIMESTAMPDIFF(MONTH,'2021-05-01',CURRENT_DATE()) as monthDiff;
select '2020-09-03',CURRENT_DATE(),TIMESTAMPDIFF(MONTH,'2020-09-03',CURRENT_DATE()) as monthDiff;
select '2021-08-18',CURRENT_DATE(),TIMESTAMPDIFF(MONTH,'2021-08-18',CURRENT_DATE()) as monthDiff;
這是上述sql的輸出,
2021-05-01 CURRENT_DATE() monthDiff
2021-05-01 2021-12-08 7
2020-09-03 CURRENT_DATE() monthDiff
2020-09-03 2021-12-08 15
2021-08-18 CURRENT_DATE() monthDiff
2021-08-18 2021-12-08 3
2021-08-18 和 2021-12-08 之間的差異的結果不應該是 4 嗎?我錯過了什么嗎?
資料庫小提琴
uj5u.com熱心網友回復:
從 8 月 18 日到現在 12 月 8 日的差異是 3 .. 直到 12 月 18 日
select '2021-08-18',CURRENT_DATE(),TIMESTAMPDIFF(MONTH,'2021-08-18',CURRENT_DATE()) as monthDiff;
可能是您正在尋找月份之間的差異
select '2021-08-18',CURRENT_DATE(), month(current_date()) - month('2021-08-18') monthDiff;
uj5u.com熱心網友回復:
您的代碼是正確的, TIMESTAMPDIFF() 在從另一個日期時間運算式中減去一個值后回傳一個值。因此,您的第二個日期引數從第一個引數中減去它會回傳 3。因為從 08/18 到 12/08 的差異是 3,直到 12/17 它將回傳 3,然后回傳 4。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/377396.html
