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

MySQL ส่งคืนอะไรเมื่อใช้ชุดค่า (Enclosed Set) กับ INTERVAL?

หากให้ชุดค่า 2 ค่าใน single quotes เช่น INTERVAL '4 2' HOUR MySQL จะ **ใช้ค่าแรกอย่างเดียว** คืนคำเตือน และคำนวณต่อ:

mysql> SELECT TIMESTAMP('2017-10-22 04:05:36' + INTERVAL '4 2' HOUR) AS 'HOUR VALUE INCREASED BY 4';
+---------------------------+
| HOUR VALUE INCREASED BY 4 |
+---------------------------+
| 2017-10-22 08:05:36       |
+---------------------------+
1 row in set, 1 warning (0.00 sec)

mysql> SHOW WARNINGS;
+---------+------+------------------------------------------+
| Level   | Code | Message                                  |
+---------+------+------------------------------------------+
| Warning | 1292 | Truncated incorrect INTEGER value: '4 2' |
+---------+------+------------------------------------------+

ค่า 4 ถูกใช้ (บวก 4 ชั่วโมง) ค่า 2 ถูกตัดทิ้ง พร้อม warning

หมายเหตุ: ชุดค่า (enclosed set) ใช้ได้เฉพาะกับ compound unit เช่น YEAR_MONTH, DAY_HOUR ที่ต้องการ 2 ค่า