MySQL EXTRACT()函数
MySQL 中的 EXTRACT() 函数与 DATE 和 DATETIME 函数有关。它用于提取 DATE 和 DATETIME 值的一部分。例如,我们可以从函数参数中指定的 DATE 和 DATETIME 值中提取年部分、月部分、日部分、分钟、秒、微秒等。MySQL 从4.0 及更高版本开始提供对 EXTRACT 函数的支持。
一、MySQL EXTRACT()函数 语法
以下是说明在 MySQL 中使用 EXTRACT 函数的语法:
EXTRACT(unit_value FROM date_value);
在上面,我们可以看到 EXTRACT() 函数有两个参数,unit_value和date_value。这里,date_value 代表DATE和日期时间我们要从中提取部分的值。unit_value 表示我们要提取的日期部分。unit_value 参数可以在MySQL中使用以下有效间隔
- DAY
- DAY_HOUR
- DAY_MICROSECOND
- DAY_MINUTE
- DAY_SECOND
- HOUR
- HOUR_MICROSECOND
- HOUR_MINUTE
- HOUR_SECOND
- MICROSECOND
- MINUTE
- MINUTE_MICROSECOND
- MINUTE_SECOND
- MONTH
- QUARTER
- SECOND
- SECOND_MICROSECOND
- WEEK
- YEAR
- YEAR_MONTH
二、MySQL EXTRACT()函数 示例
让我们通过各种例子来学习如何在 MySQL 中使用 EXTRACT 函数。
从 DATETIME 中提取日期
执行以下语句以从DATETIME中提取日期:
mysql> SELECT EXTRACT(DAY FROM '2020-07-15 08:06:44') AS DAY;
输出结果为:
从 DATETIME 中提取 DAY_HOUR
执行以下语句从 DATETIME 中提取日期和小时:
mysql> SELECT EXTRACT(DAY_HOUR FROM '2020-07-15 08:06:44') AS DAY;
输出结果为:
从 DATETIME 中提取 DAY_MICROSECOND
执行以下语句以从 DATETIME 中提取日期和微秒:
mysql> SELECT EXTRACT(DAY_MICROSECOND FROM '2020-07-15 08:06:44') AS DAY_MS;
输出结果为:
从 DATETIME 中提取 DAY_MINUTE
执行以下语句以从 DATETIME 中提取日期和分钟:
mysql> SELECT EXTRACT(DAY_MINUTE FROM '2020-07-15 08:06:44') AS DAY_Min;
输出结果为:
从 DATETIME 中提取 DAY_SECOND
执行以下语句从 DATETIME 中提取日期和秒:
mysql> SELECT EXTRACT(DAY_SECOND FROM '2020-07-15 08:06:44') AS DAY_Sec;
输出结果为:
从 DATETIME 中提取 HOUR
执行以下语句以从 DATETIME 中提取小时:
mysql> SELECT EXTRACT(HOUR FROM '2020-07-15 08:06:44') AS Hrs;
输出结果为:
从 DATETIME 中提取 HOUR_MICROSECOND
执行以下语句以从 DATETIME 中提取小时和微秒:
mysql> SELECT EXTRACT(HOUR_MICROSECOND FROM '2020-07-15 08:06:44') AS Hrs_MS;
输出结果为:
从 DATETIME 中提取 HOUR_MINUTE
执行以下语句以从 DATETIME 中提取小时和分钟:
mysql> SELECT EXTRACT(HOUR_MINUTE FROM '2020-07-15 08:06:44') AS Hrs_Min;
输出结果为:
从 DATETIME 中提取 HOUR_SECOND
执行以下语句从 DATETIME 中提取小时和秒:
mysql> SELECT EXTRACT(HOUR_SECOND FROM '2020-07-15 08:06:44') AS Hrs_Sec;
输出结果为:
从 DATETIME 中提取 MICROSECOND
执行以下语句以从 DATETIME 中提取微秒:
mysql> SELECT EXTRACT(MICROSECOND FROM '2020-07-15 08:06:44') AS MS;
输出结果为:
从 DATETIME 中提取 MINUTE
执行以下语句以从 DATETIME 中提取分钟:
mysql> SELECT EXTRACT(MINUTE FROM '2020-07-15 08:06:44') AS Min;
输出结果为:
从 DATETIME 中提取 SECOND
执行以下语句以从 DATETIME 中提取秒:
mysql> SELECT EXTRACT(SECOND FROM '2020-07-15 08:06:44') AS Sec;
输出结果为:
从 DATETIME 中提取 MONTH
执行以下语句从 DATETIME 中提取月份:
mysql> SELECT EXTRACT(MONTH FROM '2020-07-15 08:06:44') AS Month;
输出结果为:
从 DATETIME 中提取 YEAR
执行以下语句从 DATETIME 中提取年份:
mysql> SELECT EXTRACT(YEAR FROM '2020-07-15 08:06:44') AS Yr;
输出结果为:
从 DATETIME 中提取 WEEK
执行以下语句以从 DATETIME 中提取星期:
mysql> SELECT EXTRACT(WEEK FROM '2020-07-15 08:06:44') AS WK;
输出结果为:
从 DATETIME 中提取 QUARTER
执行以下语句以从 DATETIME 中提取季度:
mysql> SELECT EXTRACT(QUARTER FROM '2020-07-15 08:06:44') AS QT;
输出结果为:
热门文章
优秀文章