首頁 >資料庫 >mysql教程 >借助函數,我們如何傳回兩個日期值之間的年、月、日差異?

借助函數,我們如何傳回兩個日期值之間的年、月、日差異?

王林
王林轉載
2023-08-23 16:53:321171瀏覽

借助函數,我們如何傳回兩個日期值之間的年、月、日差異?

我們可以建立一個函數,它接受日期值作為參數並傳回年、月和日的差值,如下所示

mysql> CREATE FUNCTION date_difference(Date1 DATE, date2 DATE) RETURNS VARCHAR(30)
   -> RETURN CONCAT(
   -> @years := TIMESTAMPDIFF(YEAR, date1, date2),IF (@years = 1, ' year, ', ' years, '),
   -> @months := TIMESTAMPDIFF(MONTH, DATE_ADD(date1, INTERVAL @years YEAR), date2),IF (@months = 1, ' month, ', ' months, '),
   -> @days := TIMESTAMPDIFF(DAY, DATE_ADD(date1, INTERVAL @years * 12 + @months MONTH), date2),IF (@days = 1, ' day', ' days')) ;
   Query OK, 0 rows affected (0.00 sec)

現在,將日期值作為參數傳遞到函數date_difference

mysql> Select date_difference('2015-11-16','2016-12-17') AS Difference;
+------------------------+
| Difference             |
+------------------------+
| 1 year, 1 month, 1 day |
+------------------------+
1 row in set (0.00 sec)

上面的結果集給出了兩個指定日期之間的差異作為函數的參數。

以上是借助函數,我們如何傳回兩個日期值之間的年、月、日差異?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除