Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

หน่วยรวม (Compound Units) ที่ใช้ในฟังก์ชัน EXTRACT() ของ MySQL มีอะไรบ้าง?

EXTRACT() รองรับหน่วยรวม (Compound Units) ดังนี้:

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

ตัวอย่าง

mysql> SELECT EXTRACT(YEAR_MONTH FROM '2017-10-20');
+---------------------------------------+
| EXTRACT(YEAR_MONTH FROM '2017-10-20') |
+---------------------------------------+
| 201710                                |
+---------------------------------------+

ส่งคืนปีและเดือนรวมกันเป็น 201710

mysql> SELECT EXTRACT(DAY_HOUR FROM '2017-10-20 05:46:45');
+----------------------------------------------+
| EXTRACT(DAY_HOUR FROM '2017-10-20 05:46:45') |
+----------------------------------------------+
| 2005                                         |
+----------------------------------------------+

ส่งคืนวันและชั่วโมงรวมกันเป็น 2005 (วันที่ 20, ชั่วโมง 05)

สำคัญ: หน่วยรวมจะคืนค่าครบชุดระหว่างหน่วยเริ่มต้นและสิ้นสุด เช่น DAY_MICROSECOND จะคืนค่า DAY, HOUR, MINUTE, SECOND, 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                                                            |
+---------------------------------------------------------------------------+