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

วิธีลบศูนย์ต่อท้ายค่าทศนิยมใน MySQL

สามารถลบศูนย์ต่อท้าย (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 แปลงกลายเป็นตัวเลข ทำให้ศูนย์ต่อท้ายหายไป