📅  最后修改于: 2023-12-03 15:39:24.815000             🧑  作者: Mango
在 SQL 中,日期和时间都是非常常见的数据类型。通常情况下,我们可以使用标准的日期格式(如 yyyy-mm-dd)进行处理。但有时,我们需要对日期进行更精细的处理,并保留年份信息。在本文中,我们将介绍如何在 SQL 中处理带有年份的日期。
在 SQL 中,我们可以使用一些内置函数来处理日期数据。以下是一些常用的日期函数:
CURRENT_DATE()
:返回当前日期(不包含时间)CURRENT_TIMESTAMP()
:返回当前日期和时间DATE()
:从日期时间中提取日期YEAR()
:从日期中提取年份MONTH()
:从日期中提取月份DAY()
:从日期中提取天数使用这些日期函数,我们可以轻松地处理带有年份的日期。
例1: 提取带有年份的日期
假设我们有以下数据表:
CREATE TABLE orders (
id INT NOT NULL PRIMARY KEY,
order_date DATE NOT NULL
);
INSERT INTO orders(id, order_date) VALUES
(1, '2021-05-12'),
(2, '2021-06-18'),
(3, '2022-01-05');
我们可以使用 YEAR()
函数提取年份:
SELECT id, order_date, YEAR(order_date) AS year
FROM orders;
结果如下:
| id | order_date | year | |----|-------------|------| | 1 | 2021-05-12 | 2021 | | 2 | 2021-06-18 | 2021 | | 3 | 2022-01-05 | 2022 |
例2: 按年份统计订单数量
假设我们要统计每年的订单数量:
SELECT YEAR(order_date) AS year, COUNT(*) AS num_orders
FROM orders
GROUP BY YEAR(order_date);
结果如下:
| year | num_orders | |------|-----------| | 2021 | 2 | | 2022 | 1 |
这个示例展示了如何使用 GROUP BY
子句对年份进行分组,并使用 COUNT()
函数计算每组的数量。
在 SQL 中,可以通过内置的日期函数来处理带有年份的日期。这些函数可以用于提取、格式化和比较日期,为我们带来了更多的灵活性。