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

อะไรคือผลกระทบของค่าลบของอาร์กิวเมนต์ที่สอง ซึ่งระบุจำนวนตำแหน่งทศนิยมบนผลลัพธ์ของฟังก์ชัน MySQL ROUND()


หากเราระบุค่าลบของอาร์กิวเมนต์ที่สอง ตัวเลขก่อนจุดทศนิยมจะถูกลบออกและปัดเศษออก จำนวนหลักที่จะลบขึ้นอยู่กับค่าของอาร์กิวเมนต์ที่สองที่เป็นค่าลบ ตัวอย่างต่อไปนี้จะแสดงให้เห็นการเปลี่ยนแปลง ขึ้นอยู่กับค่าลบของอาร์กิวเมนต์ที่สอง ในผลลัพธ์ของฟังก์ชัน ROUND()

mysql> Select ROUND(1789.456,-1);
+--------------------+
| ROUND(1789.456,-1) |
+--------------------+
|               1790 |
+--------------------+
1 row in set (0.00 sec)  

ข้อความค้นหาด้านบนคืนค่า 1790 เนื่องจากหลักแรก (ซึ่งจะถูกลบเนื่องจากค่า -1) ก่อนจุดทศนิยมคือ 9 (ซึ่งคือ> 5) ดังนั้นตัวเลขก่อนหน้านั้นคือ 8 จะถูกปัดเศษ เหลือ 9

mysql> Select ROUND(1789.456,-2);
+--------------------+
| ROUND(1789.456,-2) |
+--------------------+
|               1800 |
+--------------------+
1 row in set (0.00 sec)  

ข้อความค้นหาด้านบนคืนค่า 1800 เนื่องจากหลักที่สอง (ซึ่งจะถูกลบเนื่องจากค่า -2) ก่อนจุดทศนิยมคือ 8 (ซึ่งคือ> 5) ดังนั้น ตัวเลขก่อนหน้านี้คือ 7 จะถูกปัดเศษ เหลือ 8

mysql> Select ROUND(1789.456,-3);
+--------------------+
| ROUND(1789.456,-3) |
+--------------------+
|               2000 |
+--------------------+
1 row in set (0.00 sec)  

ข้อความค้นหาด้านบนคืนค่า 2000 เนื่องจากหลักที่สาม (ซึ่งจะถูกลบเนื่องจากค่า -3) ก่อนจุดทศนิยมคือ 7 (ซึ่งคือ> 5) ดังนั้นตัวเลขก่อนหน้านี้คือ 1 จะถูกปัดเศษ เหลือ 2

mysql> Select ROUND(1789.456,-4);
+--------------------+
| ROUND(1789.456,-4) |
+--------------------+
|                  0 |
+--------------------+
1 row in set (0.00 sec)  

ข้อความค้นหาด้านบนคืนค่า 0 เนื่องจากจำนวนหลักทั้งหมดก่อนจุดทศนิยมคือ 4 และค่าของอาร์กิวเมนต์ที่สองคือ -4