MySQL獲取今天的日期

在本教學中,您將通過使用內置的日期函數來瞭解如何查詢獲取MySQL今天的日期數據。

使用內置日期函數獲取MySQL今天的日期

有時,您可能希望從表中查詢數據,以獲取日期列為今天的日期,例如:

SELECT
    column_list
FROM
    table_name
WHERE
    expired_date = today;

要獲取今天的日期,您可以使用CURDATE()函數,如下所示:

mysql> SELECT CURDATE() today;
+------------+
| today      |
+------------+
| 2018-07-31 |
+------------+
1 row in set

或者可以從NOW()函數返回的當前時間獲取日期部分:

mysql> SELECT DATE(NOW()) today;
+------------+
| today      |
+------------+
| 2018-07-31 |
+------------+
1 row in set

所以查詢應該改為:

SELECT
    column_list
FROM
    table_name
WHERE
    expired_date = CURDATE();

如果expired_date列包含日期和時間部分,則應使用DATE()函數僅提取日期部分並將其與當前日期進行比較:

SELECT
    column_list
FROM
    table_name
WHERE
    DATE(expired_date) = CURDATE();

創建MySQL今天存儲過程

如果您在查詢中使用CURDATE()函數,並且希望將其替換為today()函數以使查詢更易讀,則可以按如下所示創建名為today()的自己存儲的函數:

DELIMITER $$
CREATE FUNCTION today()
RETURNS DATE
BEGIN
RETURN CURDATE();
END$$
DELIMITER ;

現在,您可以使用創建的today()函數,如下所示:

mysql> SELECT today();
+------------+
| today()    |
+------------+
| 2017-07-31 |
+------------+
1 row in set

那麼怎麼樣獲取明天日期呢? 它應該是簡單的:

mysql> SELECT today() + interval 1 day Tomorrow;
+------------+
| Tomorrow   |
+------------+
| 2017-08-01 |
+------------+
1 row in set

同樣,獲取昨天日期也很容易:

mysql> SELECT today() - interval 1 day Yesterday;
+------------+
| Yesterday  |
+------------+
| 2017-07-30 |
+------------+
1 row in set

在本教學中,您已經學會了如何使用內置的日期函數來獲取MySQL今天的日期。 您還學習了如何使用MySQL中存儲的函數來獲取今天日期的功能。


上一篇: MySQL技巧 下一篇: MySQL存儲過程