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

วิธีลบศูนย์ท้าย (Trailing Zeros) ใน MySQL

การลบศูนย์ท้ายใน MySQL ด้วยฟังก์ชัน TRIM()

สามารถใช้ฟังก์ชัน TRIM() ร่วมกับการบวกค่า 0 เพื่อกำจัดศูนย์ท้ายหลังจุดทศนิยมใน MySQL ได้ สิ่งนี้มีประโยชน์เมื่อต้องการแสดงตัวเลขในรูปแบบที่กระชับและอ่านง่าย

ไวยากรณ์ (Syntax)

SELECT TRIM(yourColumnName) + 0 AS anyAliasName FROM yourTableName;

ตัวอย่างการใช้งาน

เริ่มต้นด้วยการสร้างตารางทดสอบ:

mysql> CREATE TABLE removeTrailingZero (
    -> Number DECIMAL(10,4)
    -> );
Query OK, 0 rows affected (0.83 sec)

เพิ่มข้อมูลตัวอย่าง:

mysql> INSERT INTO removeTrailingZero VALUES(10.789);
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO removeTrailingZero VALUES(89.90);
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO removeTrailingZero VALUES(8999.70);
Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO removeTrailingZero VALUES(0.40);
Query OK, 1 row affected (0.23 sec)
mysql> INSERT INTO removeTrailingZero VALUES(0.0);
Query OK, 1 row affected (0.16 sec)

ดูข้อมูลก่อนการประมวลผล:

mysql> SELECT * FROM removeTrailingZero;
+-----------+
| Number    |
+-----------+
| 10.7890   |
| 89.9000   |
| 8999.7000 |
| 0.4000    |
| 0.0000    |
+-----------+
5 rows in set (0.00 sec)

ใช้คำสั่งลบศูนย์ท้าย:

mysql> SELECT TRIM(Number) + 0 AS WithoutTrailingZero FROM removeTrailingZero;

ผลลัพธ์ที่ได้:

+---------------------+
| WithoutTrailingZero |
+---------------------+
| 10.789              |
| 89.9                |
| 8999.7              |
| 0.4                 |
| 0                   |
+---------------------+
5 rows in set (0.00 sec)

คำอธิบาย

ฟังก์ชัน TRIM() จะตัดช่องว่างนำหน้าและท้ายสตริง แต่เมื่อใช้กับตัวเลขทศนิยม MySQL จะแปลงตัวเลขเป็นสตริงก่อน การบวก + 0 จะบังคับให้ MySQL แปลงกลับเป็นตัวเลข ทำให้ศูนย์ท้ายหายไปอัตโนมัติ วิธีนี้เหมาะสำหรับชนิดข้อมูล DECIMAL หรือ FLOAT ที่เก็บค่าความแม่นยำคงที่