ZEROFILL เป็นแอตทริบิวต์ของชนิดข้อมูลตัวเลขใน MySQL ที่ทำให้แสดงผลเติมศูนย์ (0) นำหน้า จนครบความกว้างที่กำหนด (Display Width) เช่น INT(10) ZEROFILL จะแสดงตัวเลข 1 เป็น 0000000001
ตัวอย่างการใช้งาน
สร้างตารางกำหนด INT(10) ZEROFILL:
mysql> create table DemoTable1332 (Number int(10) ZEROFILL NOT NULL DEFAULT 0);
เพิ่มข้อมูลตัวเลขขนาดต่างๆ:
mysql> insert into DemoTable1332 values(); mysql> insert into DemoTable1332 values(1); mysql> insert into DemoTable1332 values(10); mysql> insert into DemoTable1332 values(100); mysql> insert into DemoTable1332 values(554646);
ผลลัพธ์การแสดงผล
+------------+ | Number | +------------+ | 0000000000 | | 0000000001 | | 0000000010 | | 0000000100 | | 0000554646 | +------------+
ข้อสังเกต:
- ค่าเริ่มต้น
DEFAULT 0แสดงเป็น0000000000(10 หลัก) - ZEROFILL ทำงานเฉพาะการ แสดงผล ค่าจริงที่เก็บในฐานข้อมูลยังคงเป็นตัวเลขปกติ
- ใช้ได้กับชนิดข้อมูลตัวเลข: TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, DECIMAL, FLOAT, DOUBLE
- ZEROFILL จะทำให้คอลัมน์เป็น
UNSIGNEDอัตโนมัติ (ไม่เก็บค่าลบได้)