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

เพิ่มศูนย์นำหน้า (Leading Zeros) ในคอลัมน์ MySQL ด้วย LPAD

ฟังก์ชัน LPAD(str, len, padstr) ใน MySQL ใช้เติมอักขระ padstr ด้านซ้าย (นำหน้า) ของสตริง str ให้ยาวครบ len ตัวอักษร เหมาะสำหรับสร้างรหัสที่มีความยาวคงที่

ตัวอย่างการสร้างตาราง

mysql> create table DemoTable ( 
    Code varchar(100) ); 
Query OK, 0 rows affected (0.87 sec)

เพิ่มข้อมูลรหัสสั้น

mysql> insert into DemoTable values('JS'); 
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('CB'); 
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values('DM'); 
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('CT'); 
Query OK, 1 row affected (0.07 sec)

แสดงข้อมูลก่อนเติมศูนย์

mysql> select * from DemoTable;
+------+
| Code |
+------+
| JS   |
| CB   |
| DM   |
| CT   |
+------+
4 rows in set (0.00 sec)

คำสั่ง UPDATE เติมศูนย์นำหน้าให้ยาว 8 ตัวอักษร

mysql> update DemoTable set Code = LPAD(Code, 8, '0'); 
Query OK, 4 rows affected (0.10 sec)
Rows matched: 4  Changed: 4  Warnings: 0

ตรวจสอบข้อมูลหลังเติมศูนย์

mysql> select * from DemoTable;
+----------+
| Code     |
+----------+
| 000000JS |
| 000000CB |
| 000000DM |
| 000000CT |
+----------+
4 rows in set (0.00 sec)

คำอธิบาย: LPAD(Code, 8, '0') จะเติม '0' ด้านซ้ายจนความยาวรวมเป็น 8 ตัวอักษร

ฟังก์ชันคู่: RPAD(str, len, padstr) เติมอักขระด้านขวา (ท้ายสตริง) แทน

กรณีใช้งาน: สร้างรหัสสินค้า หมายเลขบัญชี เลขที่เอกสาร ที่ต้องมีความยาวคงที่