如何使用函式在 MySQL 中計算日期?


在 MySQL 中,我們可以使用以下函式來計算日期 −

  • CURDATE() 函式 − 它基本上返回計算機的當前日期。
  • YEAR() 函式 − 它返回指定日期的年份。
  • MONTH() 函式 − 它返回指定日期的月份。
  • DAY() 函式 − 它返回指定日期的天。
  • RIGHT() 函式 − 它從給定的日期返回函式中指定數量的字元。將表示式的部分與 RIGHT() 函式的返回值進行比較,求值為 1 或 0。

為了理解它,請考慮來自名為 ‘Collegedetail’ 的表中的以下資料 −

mysql> Select * from Collegedetail;
+------+---------+------------+
| ID   | Country | Estb       |
+------+---------+------------+
| 111  | INDIA   | 2010-05-01 |
| 130  | INDIA   | 1995-10-25 |
| 139  | USA     | 1994-09-25 |
| 1539 | UK      | 2001-07-23 |
| 1545 | Russia  | 2010-07-30 |
+------+---------+------------+
5 rows in set (0.00 sec)

在以下查詢中,我們透過使用所有不同的日期函式計算了 DATE −

mysql> Select ID, Estb, CURDATE(), YEAR(Estb), MONTH(Estb), DAY(Estb), (RIGHT(CURDATE(),5) < RIGHT(estb,5))As 'Return' FROM Collegedetail;
+------+------------+------------+------------+-------------+-----------+--------+
| ID   | Estb       | CURDATE()  | YEAR(Estb) | MONTH(Estb) | DAY(Estb) | Return |
+------+------------+------------+------------+-------------+-----------+--------+
| 111  | 2010-05-01 | 2017-11-30 | 2010       | 5           | 1         | 0      |
| 130  | 1995-10-25 | 2017-11-30 | 1995       | 10          | 25        | 0      |
| 139  | 1994-09-25 | 2017-11-30 | 1994       | 9           | 25        | 0      |
| 1539 | 2001-07-23 | 2017-11-30 | 2001       | 7           | 23        | 0      |
| 1545 | 2010-07-30 | 2017-11-30 | 2010       | 7           | 30        | 0      |
+------+------------+------------+------------+-------------+-----------+--------+
5 rows in set (0.00 sec)

mysql> Select ID, estb, CURDATE(),((YEAR(CURDATE())-YEAR(estb))-(RIGHT(CURDATE(),5)<RIGHT(estb,5))) AS 'YEARS_OLD' from collegedetail;
+------+------------+------------+-----------+
| ID   | estb       | CURDATE()  | YEARS_OLD |
+------+------------+------------+-----------+
| 111  | 2010-05-01 | 2017-11-30 | 7         |
| 130  | 1995-10-25 | 2017-11-30 | 22        |
| 139  | 1994-09-25 | 2017-11-30 | 23        |
| 1539 | 2001-07-23 | 2017-11-30 | 16        |
| 1545 | 2010-07-30 | 2017-11-30 | 7         |
+------+------------+------------+-----------+
5 rows in set (0.00 sec)

更新於: 2020-06-20

112 個瀏覽

開啟你的職業生涯

達成課程後獲得認證

開始使用
廣告