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

ผลลัพธ์จะเป็นอย่างไรหากเราจะพยายามดึงค่าเวลาโดยระบุค่าวันที่ให้กับฟังก์ชัน MySQL EXTRACT() เท่านั้น


เมื่อเราพยายามดึงค่าชั่วโมงจากวันที่ ฟังก์ชัน EXTRACT() จะให้เอาต์พุต 0 พร้อมคำเตือนดังที่แสดงในตัวอย่างด้านล่าง −

mysql> Select EXTRACT(Hour from '2017-10-20');

+---------------------------------+
| EXTRACT(Hour from '2017-10-20') |
+---------------------------------+
| 0                               |
+---------------------------------+
1 row in set, 1 warning (0.00 sec)

mysql> Show Warnings;

+---------+------+----------------------------------------------+
| Level   | Code | Message                                      |
+---------+------+----------------------------------------------+
| Warning | 1292 | Truncated incorrect time value: '2017-10-20' |
+---------+------+----------------------------------------------+
1 row in set (0.00 sec)

ตอนนี้ เมื่อเราพยายามดึงค่านาทีจากวันที่ ฟังก์ชัน EXTRACT() จะให้ค่าของศตวรรษจากวันที่เป็นเอาต์พุตพร้อมคำเตือนดังแสดงในตัวอย่างด้านล่าง:

พี>
mysql> Select EXTRACT(Minute from '2017-10-20');
+-----------------------------------+
| EXTRACT(Minute from '2017-10-20') |
+-----------------------------------+
| 20                                |
+-----------------------------------+
1 row in set, 1 warning (0.00 sec)
mysql> Show Warnings;
+---------+------+----------------------------------------------+
| Level   | Code | Message                                      |
+---------+------+----------------------------------------------+
| Warning | 1292 | Truncated incorrect time value: '2017-10-20' |
+---------+------+----------------------------------------------+
1 row in set (0.00 sec)

ตอนนี้ เมื่อเราพยายามแยกค่าวินาทีจากวันที่ ฟังก์ชัน EXTRACT() จะให้ค่าปีเป็นผลลัพธ์พร้อมคำเตือนดังแสดงในตัวอย่างด้านล่าง -

mysql> Select Extract(Second from '2017-10-20');

+-----------------------------------+
| Extract(Second from '2017-10-20') |
+-----------------------------------+
| 17                                |
+-----------------------------------+
1 row in set, 1 warning (0.00 sec)

mysql> Show Warnings;

+---------+------+----------------------------------------------+
| Level   | Code | Message                                      |
+---------+------+----------------------------------------------+
| Warning | 1292 | Truncated incorrect time value: '2017-10-20' |
+---------+------+----------------------------------------------+
1 row in set (0.00 sec)

เราจะได้ผลลัพธ์ที่คล้ายกันในการพยายามหาค่าเวลา (ชั่วโมง นาที และวินาที) จากวันที่ปัจจุบัน เช่น โดยใช้ Curdate() ที่สถานที่ของวันที่