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

Xóa dấu phần trăm (%) khỏi cột InterestRate trong MySQL

Giới thiệu

Dùng REPLACE(col, '%', '') trong UPDATE để loại bỏ ký tự '%' khỏi chuỗi lưu lãi suất, chuyển về dạng số thuần để tính toán.

Ví dụ thực hành

1. Tạo bảng DemoTable828

mysql> CREATE TABLE DemoTable828 (
    CustomerName VARCHAR(100),
    InterestRate VARCHAR(100)
);

2. Chèn dữ liệu có '%'

mysql> INSERT INTO DemoTable828 VALUES 
    ('Chris','10%'),('Robert','11.5%'),('David','15.90%'),('Bob','20%');

3. Xóa dấu %

mysql> UPDATE DemoTable828 SET InterestRate = REPLACE(InterestRate, '%', '');

4. Kết quả

+--------------+--------------+
| CustomerName | InterestRate |
+--------------+--------------+
| Chris        | 10           |
| Robert       | 11.5         |
| David        | 15.90        |
| Bob          | 20           |
+--------------+--------------+

Tiếp theo: Chuyển sang kiểu số để tính toán

-- Thêm cột số
ALTER TABLE DemoTable828 ADD COLUMN Rate DECIMAL(5,2);

-- Cập nhật từ chuỗi đã làm sạch
UPDATE DemoTable828 SET Rate = CAST(InterestRate AS DECIMAL(5,2));

-- Hoặc một lần: UPDATE ... SET Rate = CAST(REPLACE(InterestRate,'%','') AS DECIMAL(5,2));

Lưu ý

  • REPLACE thay thế tất cả lần xuất hiện. Nếu chuỗi có nhiều '%' (ví dụ '10%%') → tất cả bị xóa.
  • Nên lưu lãi suất als kiểu DECIMAL(5,2) (0.00 - 999.99) thay vì VARCHAR.
  • Khi SELECT hiển thị: CONCAT(Rate, '%') hoặc CONCAT(InterestRate, '%').
  • Backup trước khi UPDATE hàng loạt.