📜  带有年份的 sql 日期 - SQL (1)

📅  最后修改于: 2023-12-03 15:39:24.815000             🧑  作者: Mango

带有年份的 SQL 日期

在 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 中,可以通过内置的日期函数来处理带有年份的日期。这些函数可以用于提取、格式化和比较日期,为我们带来了更多的灵活性。