原文: 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() 函数就像它的名字所表示的那样——它为一个 datedatetime 添加一个间隔。

你可以以这种格式使用 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);
ss1-2

如果你愿意,你可以把它和月或年一起使用:

ss2-2

CURRENT_DATE()

CURRENT_DATE() 函数显示的正是它的名字表示的——当前日期。它以 YYY-MM-DD 的格式返回日期。

例如,SELECT CURRENT_DATE() 返回我开始写这篇文章的日期:

ss3-1

CURRENT_TIME();

CURRENT_TIME 函数显示当前时间。

SELECT CURRENT_TIME();
ss4-1

CURRENT_TIMESTAMP();

CURRENT_TIMESTAMP() 函数返回当前日期和时间。它是 CURRENT_DATE()CURRENT_TIME() 的组合。

SELECT CURRENT_TIMESTAMP();

NOW()

NOW() 函数返回当前日期和时间。

SELECT NOW();
ss5-1

DATE

你可以使用 DATE 函数来提取一个时间戳的日期部分。

SELECT DATE("2022-11-14 12:00:00");
ss6

DATE_SUB

DATE_SUB() 函数从一个日期中减去一天、一月或一年。在下面的查询中,我从我开始写这篇文章的日期中减去了 10 天:

SELECT DATE_SUB("2022-11-14", INTERVAL 10 DAY);
ss7

DATEDIFF

DATEDIFF() 函数返回两个日期之间的天数。

SELECT DATEDIFF("2023-11-14", "2022-11-14");
ss8

DAY

该函数返回指定日期内的日期。

SELECT DAY("2022-11-14");
ss9

MONTH

MONTH 函数返回指定日期中的月份。

SELECT MONTH("2022-11-14");
ss10

YEAR

YEAR 函数返回指定日期中的年份。

SELECT YEAR("2022-11-14");
ss11

如何基于日期查询数据库

为了告诉你如何使用日期查询数据库,我将使用下面的表格:

ss12

要选择一个日期和另一个日期之间的某些特定日期,你可以在指定日期时使用 BETWEENAND 关键字。

在下面的查询中,我选择了 2021 年添加到数据库中的所有项目:

SELECT *
FROM brands
WHERE date_added BETWEEN "2021-01-01" AND "2021-12-31";
ss13-1

结合 DATE_SUB()NOW() 函数,我能够得到过去 3 个月内添加到数据库的项目:

SELECT *
FROM brands
WHERE date_added > DATE_SUB(NOW(), INTERVAL 3 MONTH);
ss14

总结

这篇文章向你展示了一些重要的函数,你可以用它来处理日期和在 SQL 中查询数据库。

如果你觉得这篇文章有用,不要犹豫,与朋友和家人分享它。

谢谢你阅读本文。