Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การเพิ่มอักขระพิเศษต่อท้ายคอลัมน์ใน MySQL ด้วย RPAD

ฟังก์ชัน 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)