Để loại bỏ các số 0 thừa ở phần thập phân trong MySQL, bạn có thể sử dụng hàm TRIM() kết hợp với phép cộng 0. Cú pháp như sau:
SELECT TRIM(yourColumnName) + 0 AS anyAliasName FROM yourTableName;
Ví dụ minh họa
Trước tiên, tạo một bảng demo:
CREATE TABLE removeTrailingZero (
Number DECIMAL(10,4)
);
Chèn một số bản ghi:
INSERT INTO removeTrailingZero VALUES (10.789); INSERT INTO removeTrailingZero VALUES (89.90); INSERT INTO removeTrailingZero VALUES (8999.70); INSERT INTO removeTrailingZero VALUES (0.40); INSERT INTO removeTrailingZero VALUES (0.0);
Dữ liệu ban đầu sẽ hiển thị với 4 chữ số thập phân do kiểu DECIMAL(10,4):
SELECT * FROM removeTrailingZero;
+-----------+ | Number | +-----------+ | 10.7890 | | 89.9000 | | 8999.7000 | | 0.4000 | | 0.0000 | +-----------+
Áp dụng câu truy vấn loại bỏ số 0 thừa:
SELECT TRIM(Number) + 0 AS WithoutTrailingZero FROM removeTrailingZero;
Kết quả trả về:
+---------------------+ | WithoutTrailingZero | +---------------------+ | 10.789 | | 89.9 | | 8999.7 | | 0.4 | | 0 | +---------------------+
Giải thích: Hàm TRIM() loại bỏ khoảng trắng, nhưng khi cộng với 0, MySQL tự động chuyển đổi chuỗi thành số, từ đó loại bỏ các số 0 vô nghĩa ở phần thập phân.