利用函式,我們如何返回兩個日期值之間的年、月和天的差?
我們可以建立如下所示的函式,它將日期值作為其引數,並返回年、月和天的差
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)以上結果集給出兩個指定日期之間的差作為函式的引數。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP