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

ใน MySQL ฟังก์ชัน CEILING() และ FLOOR() แตกต่างจากฟังก์ชัน ROUND() อย่างไร


The เพดาน() ฟังก์ชันจะส่งคืนค่าจำนวนเต็มที่น้อยที่สุดที่ไม่เล็กกว่า X ลองพิจารณาตัวอย่างต่อไปนี้ –

mysql> Select CEILING(3.46);
+---------------+
| CEILING(3.46) |
+---------------+
|             4 |
+---------------+
1 row in set (0.00 sec)  

mysql> Select CEILING(-6.43);
+----------------+
| CEILING(-6.43) |
+----------------+
|             -6 |
+----------------+
1 row in set (0.02 sec)

FLOOR() ฟังก์ชันส่งคืนค่าจำนวนเต็มที่มากที่สุดที่ไม่เกิน X พิจารณาตัวอย่างต่อไปนี้ –

mysql> Select FLOOR(-6.43);
+--------------+
| FLOOR(-6.43) |
+--------------+
|           -7 |
+--------------+
1 row in set (0.00 sec)
 
mysql> Select FLOOR(3.46);
+-------------+
| FLOOR(3.46) |
+-------------+
|           3 |
+-------------+
1 row in set (0.00 sec)

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

mysql>SELECT ROUND(5.693893);
+---------------------------------------------------------+
|                    ROUND(5.693893)                      |
+---------------------------------------------------------+
|                           6                             |
+---------------------------------------------------------+
1 row in set (0.00 sec)  

mysql>SELECT ROUND(5.693893,2);
+---------------------------------------------------------+
|                   ROUND(5.693893,2)                     |
+---------------------------------------------------------+
|                          5.69                           |
+---------------------------------------------------------+
1 row in set (0.00 sec)

จากคำจำกัดความและตัวอย่างข้างต้น เราสามารถสังเกตความแตกต่างระหว่างฟังก์ชันทั้งสามนี้ −

  • ROUND() ฟังก์ชั่นปัดเศษตัวเลขขึ้นหรือลงขึ้นอยู่กับอาร์กิวเมนต์ที่สอง D และตัวเลขเอง (หลักหลัง D ทศนิยม>=5 หรือไม่)
  • FLOOR() ฟังก์ชันปัดเศษตัวเลข ไปทางศูนย์ ลงเสมอ
  • เพดาน() ฟังก์ชันปัดเศษตัวเลข ห่างจากศูนย์ ขึ้นเสมอ
mysql> Select ROUND(1.415,2),FLOOR(1.415),CEILING(1.415);
+----------------+--------------+----------------+
| ROUND(1.415,2) | FLOOR(1.415) | CEILING(1.415) |
+----------------+--------------+----------------+
|           1.42 |            1 |              2 |
+----------------+--------------+----------------+
1 row in set (0.00 sec)