Đôi khi bạn cần chèn một chuỗi bằng dấu cách. Hoặc có lẽ bạn sẽ đệm nó bằng một ký tự khác. Đôi khi bạn cần phải đệm nó ở bên trái. Lần khác, bạn cần phải đệm nó vào bên phải. Hoặc có thể bạn cần đệm nó ở cả hai bên.
Tất cả những điều trên có thể được thực hiện trong MySQL bằng cách sử dụng LPAD()
và / hoặc RPAD()
các hàm chuỗi.
Cú pháp
Cú pháp của mỗi hàm này như sau:
LPAD(str,len,padstr) RPAD(str,len,padstr)
Ở đâu str
là chuỗi cần đệm, 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ụ - LPAD ()
Dưới đây là một ví dụ về cách đệm vào bên trái của một chuỗi:
SELECT LPAD('Cat', 6, '*') AS Result;
Kết quả:
+--------+ | Result | +--------+ | ***Cat | +--------+
Trong ví dụ này, chúng tôi chèn chuỗi bằng ký tự dấu hoa thị (*
). Chúng tôi cũng chỉ định 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.
Vì vậy, nếu chúng ta thay đổi 6
nói, 10
, đây là những gì sẽ xảy ra:
SELECT LPAD('Cat', 10, '*') AS Result;
Kết quả:
+------------+ | Result | +------------+ | *******Cat | +------------+
Ví dụ - RPAD ()
RPAD()
hàm hoạt động giống hệt như LPAD()
, ngoại trừ việc nó thêm các ký tự vào bên phải bên của chuỗi:
SELECT RPAD('Cat', 6, '*') AS Result;
Kết quả:
+--------+ | Result | +--------+ | Cat*** | +--------+
Ví dụ - Cả hai
Bạn có thể sử dụng cả hai hàm cùng nhau để đệm một chuỗi ở cả hai bên. Để thực hiện việc này, chỉ cần chuyển một hàm cho hàm kia dưới dạng đối số.
Như thế này:
SELECT LPAD(RPAD('Cat', 6, '*'), 9, '*') AS Result;
Kết quả:
+-----------+ | Result | +-----------+ | ***Cat*** | +-----------+
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. Đây là một ví dụ:
SELECT RPAD('She Loves Me ', 30, 'Yeah! ') AS Result;
Kết quả:
+--------------------------------+ | Result | +--------------------------------+ | She Loves Me Yeah! Yeah! Yeah! | +--------------------------------+