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

การปัดทศนิยมคอลัมน์ FLOAT และแสดงในคอลัมน์ใหม่ใน MySQL

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

สร้างตารางตัวอย่าง

mysql> create table DemoTable ( 
    Value float ); 
Query OK, 0 rows affected (0.95 sec)

เพิ่มข้อมูลตัวอย่าง

mysql> insert into DemoTable values(12.4567); Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(124.7884); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values(45.64643); Query OK, 1 row affected (0.46 sec)

แสดงข้อมูลทั้งหมด

mysql> select *from DemoTable;
+---------+
| Value   |
+---------+
| 12.4567 |
| 124.788 |
| 45.6464 |
+---------+
3 rows in set (0.00 sec)

คิวรี่ปัดทศนิยม 2 ตำแหน่ง แสดงคอลัมน์ใหม่

mysql> select Value,ROUND(Value,2) AS RoundValue from DemoTable;

ผลลัพธ์:

+---------+------------+
| Value   | RoundValue |
+---------+------------+
| 12.4567 |      12.46 |
| 124.788 |     124.79 |
| 45.6464 |      45.65 |
+---------+------------+
3 rows in set (0.00 sec)

รูปแบบ ROUND()

  • ROUND(X) - ปัดเป็นจำนวนเต็ม
  • ROUND(X, D) - ปัด D ตำแหน่งทศนิยม (D เป็นลบได้: ปัดสิบ ร้อย พัน)
  • ROUND(123.456, -1) = 120, ROUND(123.456, -2) = 100

ฟังก์ชันปัดเศษอื่นๆ

ฟังก์ชันคำอธิบายตัวอย่าง
CEIL() / CEILING()ปัดขึ้นCEIL(12.1) = 13
FLOOR()ปัดลงFLOOR(12.9) = 12
TRUNCATE(X, D)ตัดทอน (ไม่ปัด)TRUNCATE(12.456, 2) = 12.45
FORMAT(X, D)จัดรูปแบบพร้อม CommaFORMAT(1234.56, 2) = '1,234.56'

ข้อควรระวัง: Floating Point Precision

FLOAT และ DOUBLE เก็บค่าประมาณการ สำหรับเงิน/การเงิน ควรใช้ DECIMAL(precision, scale)

CREATE TABLE prices (amount DECIMAL(10,2));
INSERT INTO prices VALUES (12.4567); -- จะเป็น 12.46 อัตโนมัติ