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;  

输出结果为:

热门文章

优秀文章