สามารถลบศูนย์ต่อท้าย (trailing zeros) ของค่าทศนิยมได้โดยใช้ฟังก์ชัน TRIM() ร่วมกับการบวก 0
ไวยากรณ์
SELECT TRIM(yourColumnName) + 0 FROM yourTableName;
ตัวอย่างการใช้งาน
สร้างตาราง removeTrailingZeroInDecimal:
mysql> CREATE TABLE removeTrailingZeroInDecimal (
-> Id INT NOT NULL AUTO_INCREMENT,
-> Amount DECIMAL(5,2),
-> PRIMARY KEY(Id)
-> );
เพิ่มข้อมูลทดสอบ:
mysql> INSERT INTO removeTrailingZeroInDecimal(Amount) VALUES(405.50); mysql> INSERT INTO removeTrailingZeroInDecimal(Amount) VALUES(23.05); mysql> INSERT INTO removeTrailingZeroInDecimal(Amount) VALUES(12.050); mysql> INSERT INTO removeTrailingZeroInDecimal(Amount) VALUES(125.23); mysql> INSERT INTO removeTrailingZeroInDecimal(Amount) VALUES(125.00); mysql> INSERT INTO removeTrailingZeroInDecimal(Amount) VALUES(126);
ข้อมูลก่อนประมวลผล
+----+--------+ | Id | Amount | +----+--------+ | 1 | 405.50 | | 2 | 23.05 | | 3 | 12.05 | | 4 | 125.23 | | 5 | 125.00 | | 6 | 126.00 | +----+--------+
คำสั่งลบศูนย์ต่อท้าย
mysql> SELECT TRIM(Amount) + 0 FROM removeTrailingZeroInDecimal;
ผลลัพธ์
+----------------+ | TRIM(Amount)+0 | +----------------+ | 405.5 | | 23.05 | | 12.05 | | 125.23 | | 125 | | 126 | +----------------+
หลักการทำงาน: TRIM() จะลบช่องว่าง (รวมศูนย์ที่เป็นตัวอักษร) แล้ว + 0 บังคับให้ MySQL แปลงกลายเป็นตัวเลข ทำให้ศูนย์ต่อท้ายหายไป