在本教程中,您将通过使用内置的日期函数来了解如何查询获取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
或者可以从函数返回的当前时间获取日期部分:
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今天存储过程
如果您在查询中使用函数,并且希望将其替换为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中存储的函数来获取今天日期的功能。
¥ 我要打赏 纠错/补充 收藏