ฟังก์ชัน RPAD() ใน MySQL ใช้สำหรับเติมอักขระทางขวาของสตริงให้ยาวตามความยาวที่กำหนด ซึ่งน่าจะใช้สำหรับจัดรูปแบบข้อมูลแสดงผลหรือสร้างรหัสแบบคงที่
ไวยากรณ์
RPAD(str, len, padstr)
- str: สตริงต้นฉบับ
- len: ความยาวที่ต้องการ (รวมสตริงต้นฉบับ)
- padstr: อักขระที่ใช้เติม (จะทำซ้ำจนครบความยาว)
ตัวอย่างการใช้งาน
สร้างตารางและเพิ่มข้อมูล:
mysql> CREATE TABLE DemoTable1626 (Name VARCHAR(20));
mysql> INSERT INTO DemoTable1626 VALUES ('Chris'), ('Bob'), ('Robert');
ดูข้อมูลต้นฉบับ:
mysql> SELECT * FROM DemoTable1626; +--------+ | Name | +--------+ | Chris | | Bob | | Robert | +--------+
ใช้ RPAD พร้อมเงื่อนไข IF เพื่อกำหนดความยาวที่แตกต่างกัน:
mysql> SELECT RPAD(Name, IF(LENGTH(Name) >= 5, 10, 7), '*') FROM DemoTable1626;
ผลลัพธ์:
+-------------------------------------------+ | RPAD(Name, IF(LENGTH(Name) >= 5, 10, 7), '*') | +-------------------------------------------+ | Chris***** | | Bob**** | | Robert**** | +-------------------------------------------+
คำอธิบายตัวอย่าง
- Chris (5 ตัวอักษร) → เงื่อนไข >= 5 เป็นจริง → ความยาว 10 → เติม * 5 ตัว →
Chris***** - Bob (3 ตัวอักษร) → เงื่อนไขเป็นเท็จ → ความยาว 7 → เติม * 4 ตัว →
Bob**** - Robert (6 ตัวอักษร) → เงื่อนไขเป็นจริง → ความยาว 10 → เติม * 4 ตัว →
Robert****
ฟังก์ชันที่เกี่ยวข้อง
| ฟังก์ชัน | คำอธิบาย |
|---|---|
| LPAD(str, len, padstr) | เติมอักขระทางซ้าย (Left Pad) |
| REPEAT(str, count) | ทำซ้ำสตริงตามจำนวนที่กำหนด |
| CONCAT(str1, str2, ...) | ต่อสตริงหลายค่าเข้าด้วยกัน |
กรณีการใช้งานจริง
- สร้างรหัสสินค้าความยาวคงที่ (เช่น PROD0001, PROD0002)
- จัดรูปแบบรายงานให้คอลัมน์ตรงกัน
- สร้างข้อมูลทดสอบที่มีรูปแบบคงที่
- Masking ข้อมูลบางส่วน (เช่น เลขบัตรเครดิต **** **** **** 1234)