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。這意味著 HOUR、MINUTE 和 SECOND 的值填充在 DAY 和 MICROSECOND 之間。

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)

更新於:2020年6月20日

90 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.