Hàm EXTRACT() của MySQL hỗ trợ các đơn vị hợp thành (compound units) sau:
- SECOND_MICROSECOND
- MINUTE_MICROSECOND
- HOUR_MICROSECOND
- DAY_MICROSECOND
- MINUTE_SECOND
- HOUR_SECOND
- HOUR_MINUTE
- DAY_SECOND
- DAY_MINUTE
- DAY_HOUR
- YEAR_MONTH
Một số ví dụ:
mysql> SELECT EXTRACT(YEAR_MONTH FROM '2017-10-20'); +---------------------------------------+ | EXTRACT(YEAR_MONTH FROM '2017-10-20') | +---------------------------------------+ | 201710 | +---------------------------------------+ 1 row in set (0.00 sec)
Trả về năm và tháng ghép nhau.
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)
Trả về ngày và giờ.
Lưu ý quan trọng: Các đơn vị hợp thành là tập giá trị hoàn chỉnh. Ví dụ DAY_MINUTE trả về DAY, HOUR, MINUTE (giá trị giữa được lấp đầy).
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)
Kết quả ghép: ngày(22) giờ(05) phút(52) giây(45) microsecond(102356).