SQL 日期学习笔记

日期数据类型

在 SQL 中,有三种主要的日期数据类型:

  1. DATE 类型:用于存储日期,格式为 YYYY-MM-DD。
  2. TIME 类型:用于存储时间,格式为 HH:MM:SS。
  3. TIMESTAMP 类型:用于存储日期和时间,格式为 YYYY-MM-DD HH:MM:SS。

日期函数

SQL 中有许多内置的日期函数,可以帮助我们从日期中提取信息或进行计算。

YEAR() 函数

YEAR() 函数用于从给定日期中提取年份。

例如:

Copy Code
SELECT YEAR('2022-06-05');

输出结果为:2022

MONTH() 函数

MONTH() 函数用于从给定日期中提取月份。

例如:

Copy Code
SELECT MONTH('2022-06-05');

输出结果为:6

DAY() 函数

DAY() 函数用于从给定日期中提取日。

例如:

Copy Code
SELECT DAY('2022-06-05');

输出结果为:5

DATEADD() 函数

DATEADD() 函数用于向给定日期添加一个时间间隔,并返回新的日期。

例如,我们可以使用 DATEADD() 函数将一个月添加到给定日期:

Copy Code
SELECT DATEADD(MONTH, 1, '2022-06-05');

输出结果为:2022-07-05

DATEDIFF() 函数

DATEDIFF() 函数用于计算两个日期之间的差异(以天数为单位)。

例如,我们可以使用 DATEDIFF() 函数计算 2022 年 6 月 5 日和 2022 年 7 月 5 日之间的天数:

Copy Code
SELECT DATEDIFF('2022-06-05', '2022-07-05');

输出结果为:-30(由于前一个日期在后一个日期之后,所以结果为负数)

实例

查询出当前日期

Copy Code
SELECT CURDATE();

查询出当前时间

Copy Code
SELECT CURTIME();

查询出当前日期和时间

Copy Code
SELECT NOW();

查询出明天的日期

Copy Code
SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY);

查询出 2022 年 6 月 5 日与 2023 年 6 月 5 日之间的天数

Copy Code
SELECT DATEDIFF('2022-06-05', '2023-06-05');