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

คอมพาวนด์ยูนิตชนิดใดที่สามารถใช้ในฟังก์ชัน 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)