SQL 日期学习笔记
日期数据类型
在 SQL 中,有三种主要的日期数据类型:
- DATE 类型:用于存储日期,格式为 YYYY-MM-DD。
- TIME 类型:用于存储时间,格式为 HH:MM:SS。
- TIMESTAMP 类型:用于存储日期和时间,格式为 YYYY-MM-DD HH:MM:SS。
日期函数
SQL 中有许多内置的日期函数,可以帮助我们从日期中提取信息或进行计算。
YEAR() 函数
YEAR() 函数用于从给定日期中提取年份。
例如:
Copy CodeSELECT YEAR('2022-06-05');
输出结果为:2022
MONTH() 函数
MONTH() 函数用于从给定日期中提取月份。
例如:
Copy CodeSELECT MONTH('2022-06-05');
输出结果为:6
DAY() 函数
DAY() 函数用于从给定日期中提取日。
例如:
Copy CodeSELECT DAY('2022-06-05');
输出结果为:5
DATEADD() 函数
DATEADD() 函数用于向给定日期添加一个时间间隔,并返回新的日期。
例如,我们可以使用 DATEADD() 函数将一个月添加到给定日期:
Copy CodeSELECT DATEADD(MONTH, 1, '2022-06-05');
输出结果为:2022-07-05
DATEDIFF() 函数
DATEDIFF() 函数用于计算两个日期之间的差异(以天数为单位)。
例如,我们可以使用 DATEDIFF() 函数计算 2022 年 6 月 5 日和 2022 年 7 月 5 日之间的天数:
Copy CodeSELECT DATEDIFF('2022-06-05', '2022-07-05');
输出结果为:-30(由于前一个日期在后一个日期之后,所以结果为负数)
实例
查询出当前日期
Copy CodeSELECT CURDATE();
查询出当前时间
Copy CodeSELECT CURTIME();
查询出当前日期和时间
Copy CodeSELECT NOW();
查询出明天的日期
Copy CodeSELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY);
查询出 2022 年 6 月 5 日与 2023 年 6 月 5 日之间的天数
Copy CodeSELECT DATEDIFF('2022-06-05', '2023-06-05');