EXTRACT提取日期部分
从日期或时间中提取年、月、日、季度等独立部分。 · 难度:入门 · +15XP
SQL EXTRACT —— 提取日期中的指定部分
EXTRACT从日期中提取年、月、日、时、分、秒等部分。比YEAR()/MONTH()函数更通用,符合SQL标准。
基本语法
-- EXTRACT(part FROM date)
SELECT EXTRACT(YEAR FROM '2024-01-15'); -- 2024
SELECT EXTRACT(MONTH FROM '2024-01-15'); -- 1
SELECT EXTRACT(DAY FROM '2024-01-15'); -- 15
SELECT EXTRACT(HOUR FROM '2024-01-15 14:30:00'); -- 14
SELECT EXTRACT(DOW FROM '2024-01-15'); -- 1 (周一,0=周日)
实战:按月统计
SELECT
EXTRACT(YEAR FROM created_at) AS 年,
EXTRACT(MONTH FROM created_at) AS 月,
COUNT(*) AS 订单数
FROM orders
GROUP BY EXTRACT(YEAR_MONTH FROM created_at);
动手练习
- 基础练习:查询所有在12月份注册的用户。
- 进阶应用:按周统计注册用户数(用EXTRACT(WEEK FROM))。
- 项目实战:在数据看板中按月/周/日三个粒度展示注册趋势。