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

เติมศูนย์หน้าคอลัมน์ INT ใน MySQL ด้วย LPAD

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       |
+------------------+

การทำงาน

  1. CONVERT(Number, CHAR(8)) - แปลง INT เป็น String (ความกว้าง 8)
  2. LPAD(str, 10, '0') - เติม '0' ด้านซ้ายจนยาว 10 ตัวอักษร

ทางเลือกอื่น

  • ZEROFILL Attribute: 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