EXTRACT() 函数简介
EXTRACT() 函数用于从日期或时间戳中提取指定的部分。这个函数可以非常方便地从日期或时间字段中提取年份、月份、日、小时、分钟和秒等信息。
语法
EXTRACT(part FROM date)
- part:需要提取的日期或时间部分。
- date:包含日期或时间的字段或表达式。
可用的日期部分
EXTRACT() 函数支持多种日期部分,以下是一些常见的日期部分:
YEAR
:返回日期中的年份。MONTH
:返回日期中的月份。DAY
:返回日期中的天数。HOUR
:返回时间中的小时。MINUTE
:返回时间中的分钟。SECOND
:返回时间中的秒。MICROSECOND
:返回时间中的微秒。WEEK
:返回日期所在的周数。DAYOFYEAR
:返回日期在当年中的第几天。DAYOFMONTH
:返回日期在当月中的第几天。DAYOFWEEK
:返回日期在一周中的星期几(注意:星期天为 1,星期六为 7)。DOW
:同 DAYOFWEEK。DYE
:同 DAYOFYEAR。DOY
:同 DAYOFYEAR。WEEKDAY
:返回日期在一周中的星期几(注意:星期一为 0,星期天为 6)。
示例
假设我们有一个名为 employees
的表,其中有一个名为 hire_date
的字段,存储了员工的入职日期。
示例 1:提取年份
SELECT EXTRACT(YEAR FROM hire_date) AS year FROM employees;
这条语句会从 hire_date
字段中提取年份,并将结果命名为 year
。
示例 2:提取月份
SELECT EXTRACT(MONTH FROM hire_date) AS month FROM employees;
这条语句会从 hire_date
字段中提取月份,并将结果命名为 month
。
示例 3:提取日期
SELECT EXTRACT(DAY FROM hire_date) AS day FROM employees;
这条语句会从 hire_date
字段中提取日期,并将结果命名为 day
。
示例 4:提取小时
假设我们有一个名为 events
的表,其中有一个名为 event_time
的字段,存储了事件发生的时间。
SELECT EXTRACT(HOUR FROM event_time) AS hour FROM events;
这条语句会从 event_time
字段中提取小时,并将结果命名为 hour
。
示例 5:提取分钟
SELECT EXTRACT(MINUTE FROM event_time) AS minute FROM events;
这条语句会从 event_time
字段中提取分钟,并将结果命名为 minute
。
示例 6:提取秒
SELECT EXTRACT(SECOND FROM event_time) AS second FROM events;
这条语句会从 event_time
字段中提取秒,并将结果命名为 second
。
示例 7:提取微秒
SELECT EXTRACT(MICROSECOND FROM event_time) AS microsecond FROM events;
这条语句会从 event_time
字段中提取微秒,并将结果命名为 microsecond
。
示例 8:提取周数
SELECT EXTRACT(WEEK FROM hire_date) AS week FROM employees;
这条语句会从 hire_date
字段中提取周数,并将结果命名为 week
。
示例 9:提取一年中的第几天
SELECT EXTRACT(DAYOFYEAR FROM hire_date) AS day_of_year FROM employees;
这条语句会从 hire_date
字段中提取一年中的第几天,并将结果命名为 day_of_year
。
示例 10:提取一个月中的第几天
SELECT EXTRACT(DAYOFMONTH FROM hire_date) AS day_of_month FROM employees;
这条语句会从 hire_date
字段中提取一个月中的第几天,并将结果命名为 day_of_month
。
示例 11:提取星期几(以星期天为 1)
SELECT EXTRACT(DAYOFWEEK FROM hire_date) AS day_of_week FROM employees;
这条语句会从 hire_date
字段中提取星期几,并将结果命名为 day_of_week
。
示例 12:提取星期几(以星期一为 0)
SELECT EXTRACT(WEEKDAY FROM hire_date) AS weekday FROM employees;
这条语句会从 hire_date
字段中提取星期几,并将结果命名为 weekday
。
通过这些示例,我们可以看到 EXTRACT() 函数在处理日期和时间数据时的强大功能。它可以帮助我们快速提取出我们需要的信息,而无需进行复杂的计算或转换。