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

MySQL: CAST DECIMAL เป็น INT (ใช้ FLOOR)

วิธี: ใช้ 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หมายเหตุ
FLOORFLOOR(col)12ปัดลงเสมอ
CASTCAST(col AS UNSIGNED)12Standard SQL
CONVERTCONVERT(col, UNSIGNED)12MySQL Specific
TRUNCATETRUNCATE(col, 0)12ตัดทศนิยม (ไม่ปัด)
ROUNDROUND(col)13ปัดตามหลัก (.5 ขึ้น)

แนะนำ: ใช้ CAST(col AS UNSIGNED) หรือ CONVERT(col, UNSIGNED) เพื่อความชัดเจนว่าเป็น Type Conversion