การใช้ RPAD() เพื่อต่อดอกจัน (*) ให้ยาวตามเงื่อนไขความยาวสตริง
ฟังก์ชัน RPAD() ใช้ต่ออักขระที่กำหนดทางขวาของสตริงจนถึงความยาวที่ต้องการ บทความนี้สาธิตการต่อเครื่องหมายดอกจัน (*) โดยกำหนดความยาวเป้าหมายต่างกันไปตามความยาวของชื่อ
สร้างตารางและข้อมูลตัวอย่าง
mysql> create table DemoTable1626 (
-> Name varchar(20)
-> );
Query OK, 0 rows affected (0.37 sec)
mysql> insert into DemoTable1626 values('Chris');
mysql> insert into DemoTable1626 values('Bob');
mysql> insert into DemoTable1626 values('Robert');
ข้อมูลต้นฉบับ
+--------+ | Name | +--------+ | Chris | | Bob | | Robert | +--------+
คำสั่ง SQL: เพิ่ม * ตามเงื่อนไขความยาว
mysql> select rpad(Name, if(length(Name) >= 5, 10, 7), '*') from DemoTable1626;
ผลลัพธ์
+-------------------------------------------+ | rpad(Name,if(length(Name) >= 5,10,7),'*') | +-------------------------------------------+ | Chris***** | | Bob**** | | Robert**** | +-------------------------------------------+
อธิบายตรรกะ
length(Name) >= 5— ตรวจสอบความยาวชื่อif(..., 10, 7)— ถ้ายาว 5 ตัวขึ้นไป ให้เป้าหมาย 10 ตัวอักษร มิฉะนั้น 7 ตัวอักษรrpad(Name, target_length, '*')— เติม * ทางขวาจนครบความยาวเป้าหมาย
รายละเอียดแต่ละแถว
| ชื่อ | ความยาว | เป้าหมาย | จำนวน * ที่เติม | ผลลัพธ์ |
|---|---|---|---|---|
| Chris | 5 | 10 | 5 | Chris***** |
| Bob | 3 | 7 | 4 | Bob**** |
| Robert | 6 | 10 | 4 | Robert**** |
หมายเหตุ: หากสตริงต้นฉบับยาวกว่าเป้าหมาย RPAD จะตัดทอน (truncate) ให้เหลือตามเป้าหมาย