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

MySQL CAST จัดการ Overflow ได้อย่างไร

MySQL CAST สามารถจัดการ overflow ที่เกิดระหว่างการประเมินนิพจน์ตัวเลขได้ สมมติการประเมินนิพจน์ตัวเลขก่อให้เกิด overflow MySQL จะแสดงข้อผิดพลาด ตอนนี้เพื่อจัดการ overflow นี้ สามารถเปลี่ยนค่าตัวเลขนั้นเป็น UNSIGNED ด้วย CAST

ตัวอย่าง: บวก 1 กับค่าสูงสุดของ BIGINT MySQL แสดงข้อผิดพลาดจาก overflow:

mysql> SELECT 9223372036854775807 + 1;
ERROR 1690 (22003): BIGINT value is out of range in '(9223372036854775807+1)'

ใช้ CAST จัดการ overflow นี้:

mysql> SELECT CAST(9223372036854775807 AS UNSIGNED) + 1;
+------------------------------------------+
| CAST(9223372036854775807 AS UNSIGNED) +1 |
+------------------------------------------+
| 9223372036854775808                      |
+------------------------------------------+
1 row in set (0.07 sec)