Trong MySQL, LPAD()
hàm cho phép bạn đệm phần bên trái của chuỗi bằng một hoặc nhiều ký tự.
Cách hoạt động của nó là bạn chỉ định chuỗi ký tự, độ dài của phần đệm, cũng như chuỗi ký tự để sử dụng cho phần đệm.
Cú pháp
Cú pháp như sau:
LPAD(str,len,padstr)
Ở đâu str
là chuỗi ký tự, len
là độ dài mong muốn của chuỗi tính bằng ký tự sau khi tất cả các phần đệm đã được áp dụng và padstr
là chuỗi để đệm nó với.
Ví dụ 1 - Cách sử dụng cơ bản
Dưới đây là một ví dụ về cách đệm phần bên trái của chuỗi bằng ký tự dấu hoa thị:
SELECT LPAD('Cat', 6, '*') AS Result;
Kết quả:
+--------+ | Result | +--------+ | ***Cat | +--------+
Trong ví dụ này, đối số thứ hai là 6
, có nghĩa là toàn bộ chuỗi phải có độ dài 6 ký tự sau khi tất cả các phần đệm đã được áp dụng. Đối số thứ ba chỉ định ký tự nào sẽ sử dụng cho phần đệm.
Vì vậy, trong trường hợp này, nếu chúng ta chỉ muốn một dấu hoa thị, chúng ta có thể thực hiện điều này:
SELECT LPAD('Cat', 4, '*') AS Result;
Kết quả:
+--------+ | Result | +--------+ | *Cat | +--------+
Ví dụ 2 - Nhiều ký tự
Bạn không bị giới hạn chỉ trong một ký tự. Bạn có thể đệm một chuỗi với bất kỳ số ký tự nào.
Ví dụ:chúng ta có thể lấy ví dụ trước và thêm dấu cách sau dấu hoa thị:
SELECT LPAD('Cat', 5, '* ') AS Result;
Kết quả:
+--------+ | Result | +--------+ | *Cat | +--------+
Lưu ý rằng chúng tôi cũng đã tăng số lượng ký tự lên 5
để phù hợp với nhân vật phụ.
Dưới đây là một ví dụ khác sử dụng các ký tự khác nhau:
SELECT LPAD('!', 15, 'Blah ') AS Result;
Kết quả:
+-----------------+ | Result | +-----------------+ | Blah Blah Blah! | +-----------------+
Ví dụ 3 - Đối số thứ hai quá nhỏ
Nếu giá trị của đối số thứ hai quá nhỏ, bạn có thể không có phần đệm:
SELECT LPAD('Cat', 3, '*') AS Result;
Kết quả:
+--------+ | Result | +--------+ | Cat | +--------+
Trong các trường hợp khác, bạn có thể kết thúc với việc chuỗi đệm bị cắt ngắn hoặc thậm chí có thể cắt ngắn chuỗi ban đầu:
SELECT LPAD('Cat', 6, 'Puddy '), LPAD('Cat', 2, 'Puddy ');
Kết quả:
+--------------------------+--------------------------+ | LPAD('Cat', 6, 'Puddy ') | LPAD('Cat', 2, 'Puddy ') | +--------------------------+--------------------------+ | PudCat | Ca | +--------------------------+--------------------------+
Lưu ý rằng những ví dụ này chỉ dành cho mục đích trình diễn. Trong hầu hết các trường hợp, bạn sẽ không sử dụng LPAD()
để chỉ cần nối hai từ lại với nhau. Để làm điều đó, tốt hơn hết bạn nên sử dụng CONCAT()
thay vào đó.
Ví dụ 4 - Ví dụ về Cơ sở dữ liệu
Dưới đây là một ví dụ về việc chọn dữ liệu từ cơ sở dữ liệu và chèn nó vào bên trái của nó:
SELECT Genre, LPAD(Genre, 10, '.') FROM Genres;
Kết quả:
+---------+----------------------+ | Genre | LPAD(Genre, 10, '.') | +---------+----------------------+ | Rock | ......Rock | | Jazz | ......Jazz | | Country | ...Country | | Pop | .......Pop | | Blues | .....Blues | | Hip Hop | ...Hip Hop | | Rap | .......Rap | | Punk | ......Punk | +---------+----------------------+