Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Thay thế phần chuỗi trước dấu chấm trong MySQL bằng CONCAT và SUBSTRING_INDEX

Tạo bảng số thập phân dạng chuỗi

mysql> CREATE TABLE DemoTable1424 (Value VARCHAR(60));
INSERT INTO DemoTable1424 VALUES
('567.78483733'),('1023.45252443'),('7893322.5635543434'),('90944.665665');

Dữ liệu

mysql> SELECT * FROM DemoTable1424;
+--------------------+
| Value              |
+--------------------+
| 567.78483733       |
| 1023.45252443      |
| 7893322.5635543434 |
| 90944.665665       |
+--------------------+

UPDATE: Thay phần trước dấu chấm bằng '10000.' dùng SUBSTRING_INDEX lấy phần sau

mysql> UPDATE DemoTable1424
    -> SET Value = CONCAT('10000.', SUBSTRING_INDEX(Value, '.', -1));
Query OK, 4 rows affected (0.13 sec)

Kết quả

mysql> SELECT * FROM DemoTable1424;
+------------------+
| Value            |
+------------------+
| 10000.78483733   |
| 10000.45252443   |
| 10000.5635543434 |
| 10000.665665     |
+------------------+

Giải thích: SUBSTRING_INDEX(Value, '.', -1) lấy phần sau dấu chấm cuối cùng (phần thập phân). CONCAT('10000.', ...) thêm tiền tố mới. Cách này an toàn hơn REPLACE khi có nhiều dấu chấm.