วิธี: ใช้ FLOOR()
SELECT FLOOR(yourColumnName) FROM yourTableName WHERE condition;
FLOOR() ปัดลง → ตัดทศนิยมทิ้ง = แปลงเป็น Integer
ตัวอย่าง
สร้างตาราง DECIMAL
mysql> create table DecimalToIntDemo (Amount DECIMAL(3,1));
เพิ่มข้อมูล
mysql> insert into DecimalToIntDemo values(12.5),(50.4),(48.6);
ข้อมูลต้นฉบับ
+--------+ | Amount | +--------+ | 12.5 | | 50.4 | | 48.6 | +--------+
Cast เป็น INT
mysql> SELECT FLOOR(Amount) FROM DecimalToIntDemo WHERE Amount > 10;
+---------------+ | FLOOR(Amount) | +---------------+ | 12 | | 50 | | 48 | +---------------+
วิธีอื่น
| วิธี | คำสั่ง | ผล 12.5 | หมายเหตุ |
|---|---|---|---|
| FLOOR | FLOOR(col) | 12 | ปัดลงเสมอ |
| CAST | CAST(col AS UNSIGNED) | 12 | Standard SQL |
| CONVERT | CONVERT(col, UNSIGNED) | 12 | MySQL Specific |
| TRUNCATE | TRUNCATE(col, 0) | 12 | ตัดทศนิยม (ไม่ปัด) |
| ROUND | ROUND(col) | 13 | ปัดตามหลัก (.5 ขึ้น) |
แนะนำ: ใช้ CAST(col AS UNSIGNED) หรือ CONVERT(col, UNSIGNED) เพื่อความชัดเจนว่าเป็น Type Conversion