创建您的MySQL Today存储功能

如果您在查询中大量使用CURDATE()函数,并想用today()函数代替它以使查询更具可读性,则可以按以下方式创建自己的存储的今日函数:

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

现在,您可以使用已创建的today()函数,如下所示:

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

明天怎么样它应该很简单:

mysql> SELECT today() + interval 1 day Tomorrow;
+------------+
| Tomorrow   |
+------------+
| 2017-07-09 |
+------------+
1 row in set (0.00 sec)

昨天也很容易:

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

在本教程中,您学习了如何使用内置的date函数获取MySQL今天的日期。
您还学习了如何使用MySQL中的存储函数开发自己的今日函数。

使用内置的日期函数获取MySQL今天的日期

有时,您可能想从表中查询数据以获取日期为date的行,例如:

SELECT 
    column_list
FROM
    table_name
WHERE
    expired_date = today;

要获取今天的日期,请使用CURDATE()函数,如下所示:

mysql> SELECT CURDATE() today;
+------------+
| today      |
+------------+
| 2017-07-08 |
+------------+
1 row in set (0.00 sec)

或者,您可以从NOW()函数返回的当前时间获取日期部分:

mysql> SELECT DATE(NOW()) today;
+------------+
| today      |
+------------+
| 2017-07-08 |
+------------+
1 row in set (0.00 sec)

因此查询应更改为:

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今天的日期

简介:在本教程中,您将学习如何使用内置的日期函数来查询与MySQL今天的日期匹配的数据。

日期:2019-11-20 08:52:32 来源:oir作者:oir