MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Cách hoạt động của RPAD () trong MariaDB

Trong MariaDB, RPAD() là một hàm chuỗi được tích hợp sẵn để đệm phần bên phải của chuỗi bằng một số nhất định của một ký tự được chỉ định.

Ví dụ:bạn có thể sử dụng RPAD() để đệm phần bên phải của một chuỗi bằng các dấu chấm.

Cú pháp

Cú pháp như sau:

RPAD(str, len [, padstr])

Ở đâu str là chuỗi ký tự và len là số ký tự để đệm chuỗi. Lưu ý rằng đây không phải là số lượng của chính nó mà là tổng số ký tự mà chuỗi trả về sẽ có sau khi nó được đệm.

padstr là một đối số tùy chọn chỉ định ký tự nào sẽ sử dụng cho phần đệm.

Ví dụ

Đây là một ví dụ cơ bản:

SELECT 
    RPAD('Fire', 8) AS "1",
    RPAD('Fire', 15) AS "2",
    'Fire' AS "3";

Kết quả:

+----------+-----------------+------+
| 1        | 2               | 3    |
+----------+-----------------+------+
| Fire     | Fire            | Fire |
+----------+-----------------+------+

Ký tự khoảng trắng là ký tự mặc định. Do đó, nếu bạn không bao gồm đối số thứ ba, thì một khoảng trắng sẽ được sử dụng. Trong trường hợp này, chúng tôi không chỉ định đối số thứ ba và do đó, một khoảng trắng đã được sử dụng.

Ví dụ này trả về ba cột. Tôi đã làm điều đó để giúp bạn dễ dàng thấy tác dụng của RPAD() rõ ràng hơn. Phần đệm có tác dụng đẩy chiều rộng của cột ra bằng chiều dài phần đệm đã chỉ định.

Trong trường hợp này, hai cột đầu tiên sử dụng hai độ dài đệm khác nhau và cột thứ ba là chuỗi ban đầu (không đệm).

Chỉ định một ký tự đệm

Đây là một ví dụ sử dụng đối số thứ ba. Điều này chỉ định ký tự nào sẽ sử dụng cho phần đệm:

SELECT RPAD('Fire', 15, '.');

Kết quả:

+-----------------------+
| RPAD('Fire', 15, '.') |
+-----------------------+
| Fire...........       |
+-----------------------+

Các dấu chấm cho phép chúng ta nhìn thấy phần đệm rõ ràng hơn.

Padding nhỏ hơn chuỗi gốc

Nếu đối số thứ hai nhỏ hơn chuỗi ban đầu, thì không có khoảng đệm nào được thêm vào và chuỗi ban đầu được rút ngắn thành số ký tự được chỉ định:

SELECT RPAD('Enlightenment', 7);

Kết quả:

+--------------------------+
| RPAD('Enlightenment', 7) |
+--------------------------+
| Enlight                  |
+--------------------------+

Ví dụ về cơ sở dữ liệu

Dưới đây là một ví dụ về cách đệm phần bên phải của các giá trị trong cột cơ sở dữ liệu:

SELECT 
    RPAD(PetName, 15, '.') AS "Padded Name",
    PetName AS "Original Name"
FROM Pets;

Kết quả:

+-----------------+---------------+
| Padded Name     | Original Name |
+-----------------+---------------+
| Fluffy......... | Fluffy        |
| Fetch.......... | Fetch         |
| Scratch........ | Scratch       |
| Wag............ | Wag           |
| Tweet.......... | Tweet         |
| Fluffy......... | Fluffy        |
| Bark........... | Bark          |
| Meow........... | Meow          |
+-----------------+---------------+

Đối số rỗng

Nếu bất kỳ (hoặc tất cả) đối số null , RPAD() hàm trả về null :

SELECT 
    RPAD(null, 10, '.'),
    RPAD('Coffee', null, '.'),
    RPAD('Coffee', 10, null);

Kết quả:

+---------------------+---------------------------+--------------------------+
| RPAD(null, 10, '.') | RPAD('Coffee', null, '.') | RPAD('Coffee', 10, null) |
+---------------------+---------------------------+--------------------------+
| NULL                | NULL                      | NULL                     |
+---------------------+---------------------------+--------------------------+

Chế độ Oracle

Khi không đang chạy ở chế độ Oracle, nếu kết quả trống (tức là nó có độ dài bằng 0) thì kết quả là một chuỗi trống.

Tuy nhiên, khi chạy ở chế độ Oracle, kết quả là null .

Đây là chế độ mặc định (tức là không trong chế độ Oracle):

SELECT RPAD('', 0);

Kết quả:

+-------------+
| RPAD('', 0) |
+-------------+
|             |
+-------------+

Bây giờ, hãy chuyển sang chế độ Oracle:

SET SQL_MODE=ORACLE;

Và chạy lại mã:

SELECT RPAD('', 0);

Kết quả:

+-------------+
| RPAD('', 0) |
+-------------+
| NULL        |
+-------------+

Thiếu đối số

Gọi RPAD() không có ít nhất hai đối số dẫn đến lỗi:

SELECT RPAD('Coffee');

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'RPAD'

Điều tương tự cũng xảy ra khi gọi RPAD() không có bất kỳ đối số nào:

SELECT RPAD();

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'RPAD'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách LOCATE () hoạt động trong MariaDB

  2. Sử dụng Plugin nhật ký kiểm tra Percona để bảo mật cơ sở dữ liệu

  3. Danh sách đầy đủ các bộ ký tự được hỗ trợ bởi MariaDB

  4. Cài đặt ngoại tuyến cụm MariaDB cho CentOS

  5. Cách cài đặt và bảo mật MariaDB 10 trong CentOS 7