Padding ศูนย์นำหน้า INT ด้วย LPAD()
ใช้ LPAD() ร่วมกับ CONVERT() แปลง INT เป็น String แล้วเติม 0 ด้านหน้า
ไวยากรณ์
LPAD(CONVERT(number, CHAR(width)), total_length, '0')
ตัวอย่าง
CREATE TABLE paddingDemo (Number INT); INSERT INTO paddingDemo VALUES (78), (560), (888995), (999994);
คำสั่ง Padding 10 ตำแหน่ง
SELECT LPAD(CONVERT(Number, CHAR(8)), 10, '0') AS paddingWithZeros FROM paddingDemo;
ผลลัพธ์
+------------------+ | paddingWithZeros | +------------------+ | 0000000078 | | 0000000560 | | 0000888995 | | 0000999994 | +------------------+
การทำงาน
CONVERT(Number, CHAR(8))- แปลง INT เป็น String (ความกว้าง 8)LPAD(str, 10, '0')- เติม '0' ด้านซ้ายจนยาว 10 ตัวอักษร
ทางเลือกอื่น
ZEROFILLAttribute:INT(10) ZEROFILL- แสดง 0 นำหน้าอัตโนมัติ (Display only)FORMAT()- จัดรูปแบบตัวเลข (มี Comma)RPAD()- เติมขวา
ZEROFILL Example
CREATE TABLE zerofill_demo (id INT(5) ZEROFILL); INSERT INTO zerofill_demo VALUES (1), (42), (123); SELECT id FROM zerofill_demo; -- 00001, 00042, 00123