什么样的复合单位可以在MySQL EXTRACT()函数中使用?

什么样的复合单位可以在MySQL EXTRACT()函数中使用?

MySQL EXTRACT() 函数可以使用以下复合单位 −

  • SECOND_MICROSECOND
  • MINUTE_MICROSECOND
  • HOUR_MICROSECOND
  • DAY_MICROSECOND
  • MINUTE_SECOND
  • HOUR_SECOND
  • HOUR_MINUTE
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • YEAR_MONTH

这些复合单位在EXTRACT()函数中的一些示例如下:

mysql> Select EXTRACT(YEAR_MONTH from '2017-10-20');
+---------------------------------------+
| EXTRACT(YEAR_MONTH from '2017-10-20') |
+---------------------------------------+
|                             201710    |
+---------------------------------------+
1 row in set (0.00 sec)

以上查询将从日期中返回年和月的值。

mysql> Select EXTRACT(DAY_HOUR from '2017-10-20 05:46:45');
+----------------------------------------------+
| EXTRACT(DAY_HOUR from '2017-10-20 05:46:45') |
+----------------------------------------------+
|                                         2005 |
+----------------------------------------------+
1 row in set (0.00 sec)

以上查询将从日期中返回天和小时的值。

我们必须要考虑的一件事是,上述复合单位是完整的值集,即如果我们使用DAY_MINUTE,MySQL将返回DAY、HOUR和MINUTE。这意味着任何预期的值都被填充在起始单位和结束单位之间。

例如,下面的查询使用DAY_MICROSECOND复合单位,MySQL返回DAY、HOUR、MINUTE、SECOND和MICROSECOND。这意味着在DAY和MICROSECOND之间填充了HOUR、MINUTE和SECOND的值。

mysql> Select EXTRACT(DAY_MICROSECOND from '2017-10-22 05:52:45.102356');
+---------------------------------------------------------------------------+
| EXTRACT(DAY_MICROSECOND from '2017-10-22 05:52:45.102356')                |
+---------------------------------------------------------------------------+
|                                                            22055245102356 |
+---------------------------------------------------------------------------+
1 row in set (0.00 sec)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程