ใช้ฟังก์ชัน 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) | จัดรูปแบบพร้อม Comma | FORMAT(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 อัตโนมัติ