MariaDB YEAR() 函数的基础用法与实例
MariaDB YEAR()
函数用来获取指定日期或日期时间值对应的年份值。
MariaDB YEAR()
函数用来获取指定日期或日期时间值对应的年份值。它通常与日期和时间操作相关,比如按年份分组统计、过滤特定年份的记录等。
语法
MairaDB YEAR()
函数的语法如下:
YEAR(date)
date
: 要获取年份值的日期或日期时间值,可以是 DATE、DATETIME 或 TIMESTAMP 类型。
函数返回值是一个介于 1000 到 9999 之间的整数,表示输入日期或日期时间值对应的年份。
实例
获取当前年份
本实例展示如何使用 YEAR()
函数获取当前年份。
SELECT YEAR(CURRENT_DATE()) AS curr_year;
以下是该语句的输出:
+-----------+
| curr_year |
+-----------+
| 2024 |
+-----------+
通过将 CURRENT_DATE()
函数的结果传递给 YEAR()
,可以获取当前日期对应的年份值。输出结果显示当前年份为 2023 年。
获取指定日期的年份
本实例展示如何获取指定日期的年份值。
SELECT YEAR('2024-06-15') AS year;
以下是该语句的输出:
+------+
| year |
+------+
| 2024 |
+------+
直接将日期字符串作为参数传递给 YEAR()
函数,即可获取该日期对应的年份值。输出结果显示 2024-06-15
这个日期对应的年份为 2024 年。
获取一列日期或日期时间中的年份
本实例展示如何从一列日期或日期时间值中获取对应的年份。
DROP TABLE IF EXISTS mytable;
CREATE TABLE mytable (dt DATETIME);
INSERT INTO mytable VALUES ('2022-03-15 09:30:00'), ('2023-08-22 14:45:30'), ('2024-12-01 20:15:45');
SELECT dt, YEAR(dt) AS year
FROM mytable;
以下是该语句的输出:
+---------------------+------+
| dt | year |
+---------------------+------+
| 2022-03-15 09:30:00 | 2022 |
| 2023-08-22 14:45:30 | 2023 |
| 2024-12-01 20:15:45 | 2024 |
+---------------------+------+
首先创建了一个包含日期时间值的表 mytable
,然后通过 SELECT
语句从该表中获取日期时间值及对应的年份值。结果显示,YEAR()
函数成功从每个日期时间值中提取出了对应的年份。
按年份分组统计记录数
本实例展示如何使用 YEAR()
函数按年份对记录进行分组统计。
DROP TABLE IF EXISTS orders;
CREATE TABLE orders (
id INT AUTO_INCREMENT PRIMARY KEY,
created_at DATETIME
);
INSERT INTO orders (created_at) VALUES
('2022-05-01 10:00:00'),
('2023-03-15 14:30:00'),
('2022-11-22 09:15:00'),
('2023-07-04 16:45:00'),
('2023-12-25 11:20:00');
SELECT YEAR(created_at) AS year, COUNT(*) AS orders
FROM orders
GROUP BY YEAR(created_at)
ORDER BY year;
以下是该语句的输出:
+------+--------+
| year | orders |
+------+--------+
| 2022 | 2 |
| 2023 | 3 |
+------+--------+
通过对 orders
表中的 created_at
字段应用 YEAR()
函数并按年份进行分组统计,可以方便地获取每一年的订单数量。结果显示 2022 年有 2 个订单,而 2023 年有 3 个订单。
过滤特定年份的记录
本实例展示如何使用 YEAR()
函数过滤出特定年份的记录。
DROP TABLE IF EXISTS users;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
joined_at DATE
);
INSERT INTO users (name, joined_at) VALUES
('Alice', '2020-03-15'),
('Bob', '2021-06-22'),
('Charlie', '2022-11-01'),
('David', '2023-04-30'),
('Eve', '2021-09-12');
SELECT id, name, joined_at
FROM users
WHERE YEAR(joined_at) = 2022;
以下是该语句的输出:
+----+---------+------------+
| id | name | joined_at |
+----+---------+------------+
| 3 | Charlie | 2022-11-01 |
+----+---------+------------+
首先创建了一个包含用户注册日期的表 users
,然后使用 WHERE
子句中的 YEAR()
函数过滤出 joined_at
字段对应年份为 2022 年的记录。结果显示,只有 Charlie
这个用户在 2022 年注册。
相关函数
以下是几个与 MairaDB YEAR()
相关的几个函数:
- MariaDB
MONTH()
函数用来获取指定日期的月份值。 - MariaDB
DAY()
函数用来获取指定日期的天数值。 - MariaDB
HOUR()
函数用来获取指定时间的小时值。 - MariaDB
MINUTE()
函数用来获取指定时间的分钟值。 - MariaDB
SECOND()
函数用来获取指定时间的秒数值。
结论
MariaDB YEAR()
函数是一个非常常用的日期和时间处理函数,它可以方便地从日期或日期时间值中获取对应的年份值。通过本文的实例,我们学习了如何使用该函数获取当前年份、获取指定日期的年份、从一列日期或日期时间中获取年份、按年份分组统计记录数以及过滤特定年份的记录等操作。掌握了 YEAR()
函数的用法,将有助于我们更好地处理与日期和时间相关的问题。