SQL EXTRACT() function 取出日期時間中特定的部分

在 MySQL 中,我們可以用 EXTRACT() 函數來取出日期時間中特定的部分。

EXTRACT() 語法 (Syntax)

EXTRACT(unit FROM datetime)

其中 unit 可以是:

  • MICROSECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
  • SECOND_MICROSECOND
  • MINUTE_MICROSECOND
  • MINUTE_SECOND
  • HOUR_MICROSECOND
  • HOUR_SECOND
  • HOUR_MINUTE
  • DAY_MICROSECOND
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • YEAR_MONTH

SQL EXTRACT() 取出日期時間中 "年 (year)" 的部分

mysql> SELECT EXTRACT(YEAR FROM '2019-07-02');
2019

SQL EXTRACT() 取出日期時間中 "月 (month)" 的部分

mysql> SELECT EXTRACT(MONTH FROM '2019-07-02 01:02:03');
7

SQL EXTRACT() 取出日期時間中 "日 (day)" 的部分

mysql> SELECT EXTRACT(DAY FROM '2019-07-02 01:02:03');
2

SQL EXTRACT() 取出日期時間中 "小時 (hour)" 的部分

mysql> SELECT EXTRACT(HOUR FROM '2019-07-02 01:02:03');
1

SQL EXTRACT() 取出日期時間中 "分鐘 (minute)" 的部分

mysql> SELECT EXTRACT(MINUTE FROM '2019-07-02 01:02:03');
2

SQL EXTRACT() 取出日期時間中 "秒鐘 (second)" 的部分

mysql> SELECT EXTRACT(SECOND FROM '2019-07-02 01:02:03');
3

更多 MySQL 相關的日期時間函數在這邊
更多 SQL Server 相關的日期時間函數在這邊