Trong MySQL, RPAD()
hàm cho phép bạn đệm phần bên phả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:
RPAD(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 phải của chuỗi bằng dấu chấm than:
SELECT RPAD('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 chấm than, chúng ta có thể làm như sau:
SELECT RPAD('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 khoảng trắng trước dấu chấm than:
SELECT RPAD('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 RPAD('Dog', 7, 'gone') AS Result;
Kết quả:
+---------+ | Result | +---------+ | Doggone | +---------+
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 RPAD('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 RPAD('Dog', 6, 'gone'), RPAD('Dog', 2, 'gone');
Kết quả:
+------------------------+------------------------+ | RPAD('Dog', 6, 'gone') | RPAD('Dog', 2, 'gone') | +------------------------+------------------------+ | Doggon | Do | +------------------------+------------------------+
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 RPAD()
để 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 phải của nó:
SELECT ArtistName, RPAD(ArtistName, 20, '.') FROM Artists;
Kết quả:
+------------------------+---------------------------+ | ArtistName | RPAD(ArtistName, 20, '.') | +------------------------+---------------------------+ | Iron Maiden | Iron Maiden......... | | AC/DC | AC/DC............... | | Allan Holdsworth | Allan Holdsworth.... | | Buddy Rich | Buddy Rich.......... | | Devin Townsend | Devin Townsend...... | | Jim Reeves | Jim Reeves.......... | | Tom Jones | Tom Jones........... | | Maroon 5 | Maroon 5............ | | The Script | The Script.......... | | Lit | Lit................. | | Black Sabbath | Black Sabbath....... | | Michael Learns to Rock | Michael Learns to Ro | | Carabao | Carabao............. | | Karnivool | Karnivool........... | | Birds of Tokyo | Birds of Tokyo...... | | Bodyjar | Bodyjar............. | +------------------------+---------------------------+