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

Cập nhật nhiều hàng và đệm trái giá trị trong MySQL

Sử dụng hàm LPAD() để đệm trái (left pad) giá trị.

Tạo bảng demo

mysql> create table DemoTable (
    -> Number int
    -> );
Query OK, 0 rows affected (2.26 sec)

Chèn dữ liệu

mysql> insert into DemoTable values(857786);
Query OK, 1 row affected (0.26 sec)
mysql> insert into DemoTable values(89696);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values(89049443);
Query OK, 1 row affected (0.25 sec)

Hiển thị dữ liệu gốc

mysql> select * from DemoTable;

Kết quả

+----------+
| Number   |
+----------+
| 857786   |
| 89696    |
| 89049443 |
+----------+
3 rows in set (0.00 sec)

Cập nhật: đệm trái số '9' để độ dài 7 ký tự cho các giá trị < 7 chữ số

mysql> update DemoTable set Number = LPAD(Number, 7, '9') where length(Number) < 7;
Query OK, 2 rows affected (0.40 sec)
Rows matched: 2 Changed: 2 Warnings: 0

Kiểm tra kết quả

mysql> select * from DemoTable;

Kết quả - 857786 thành 9857786, 89696 thành 9989696

+----------+
| Number   |
+----------+
| 9857786  |
| 9989696  |
| 89049443 |
+----------+
3 rows in set (0.00 sec)

Giải thích LPAD(str, len, padstr):

  • str: Chuỗi gốc (số được chuyển thành chuỗi tự động).
  • len: Độ dài mong muốn.
  • padstr: Chuỗi dùng để đệm (lặp lại nếu cần).

Hàm đối ứng: RPAD() - đệm phải (right pad).

Lưu ý: Cột Number là INT, MySQL tự chuyển sang chuỗi để LPAD, rồi chuyển ngược về INT. Cân nhắc đổi sang VARCHAR nếu cần giữ dấu 0 đầu.