原文: SQL DATE – Function, Query, Timestamp Example Format
日期是任何编程语言的一个组成部分,SQL 也不例外。当你在 SQL 数据库中插入数据时,你可以添加一个日期并根据该日期查询数据库。
在这篇文章中,你将了解到 SQL 中的 DATE 函数以及如何用日期查询数据库。我们还将了解一些时间函数。
我们将讨论的内容
- SQL 中的 Date 函数
- ADDDATE()
- CURRENT_DATE()
- CURRENT_TIME()
- CURRENT_TIMESTAMP()
- NOW()
- DATE
- DATE_SUB
- DATEDIFF
- DAY
- MONTH
- YEAR
- 如何根据日期查询数据库
- 总结
SQL 中的 Date 函数
ADDDATE()
ADDDATE()
函数就像它的名字所表示的那样——它为一个 date
或 datetime
添加一个间隔。
你可以以这种格式使用 ADDDATE()
函数:ADDDATE(date, INTERVAL value addunit)
。
date
是你要处理的日期。对于 MySQL,日期格式是 YYY-MM-DD,并且是必须的。INTERVAL
是一个必要的关键字。value
是一个整数,代表你要添加的间隔时间。addunit
是间隔应该代表什么。也就是年、月、日、小时、分钟、秒和其他相关单位。
例如,运行下面的查询返回 “2022-10-22”。这意味着 10 天被添加到 “2022-10-12”。
SELECT ADDDATE("2022-10-12", INTERVAL 10 DAY);
如果你愿意,你可以把它和月或年一起使用:
CURRENT_DATE()
CURRENT_DATE()
函数显示的正是它的名字表示的——当前日期。它以 YYY-MM-DD 的格式返回日期。
例如,SELECT CURRENT_DATE()
返回我开始写这篇文章的日期:
CURRENT_TIME();
CURRENT_TIME
函数显示当前时间。
SELECT CURRENT_TIME();
CURRENT_TIMESTAMP();
CURRENT_TIMESTAMP()
函数返回当前日期和时间。它是 CURRENT_DATE()
和 CURRENT_TIME()
的组合。
SELECT CURRENT_TIMESTAMP();
NOW()
NOW()
函数返回当前日期和时间。
SELECT NOW();
DATE
你可以使用 DATE
函数来提取一个时间戳的日期部分。
SELECT DATE("2022-11-14 12:00:00");
DATE_SUB
DATE_SUB()
函数从一个日期中减去一天、一月或一年。在下面的查询中,我从我开始写这篇文章的日期中减去了 10 天:
SELECT DATE_SUB("2022-11-14", INTERVAL 10 DAY);
DATEDIFF
DATEDIFF()
函数返回两个日期之间的天数。
SELECT DATEDIFF("2023-11-14", "2022-11-14");
DAY
该函数返回指定日期内的日期。
SELECT DAY("2022-11-14");
MONTH
MONTH
函数返回指定日期中的月份。
SELECT MONTH("2022-11-14");
YEAR
YEAR
函数返回指定日期中的年份。
SELECT YEAR("2022-11-14");
如何基于日期查询数据库
为了告诉你如何使用日期查询数据库,我将使用下面的表格:
要选择一个日期和另一个日期之间的某些特定日期,你可以在指定日期时使用 BETWEEN
和 AND
关键字。
在下面的查询中,我选择了 2021 年添加到数据库中的所有项目:
SELECT *
FROM brands
WHERE date_added BETWEEN "2021-01-01" AND "2021-12-31";
结合 DATE_SUB()
和 NOW()
函数,我能够得到过去 3 个月内添加到数据库的项目:
SELECT *
FROM brands
WHERE date_added > DATE_SUB(NOW(), INTERVAL 3 MONTH);
总结
这篇文章向你展示了一些重要的函数,你可以用它来处理日期和在 SQL 中查询数据库。
如果你觉得这篇文章有用,不要犹豫,与朋友和家人分享它。
谢谢你阅读本文。