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

การอัปเดตตาราง MySQL เพื่อสร้างชื่อย่อ (Initials) ในคอลัมน์ใหม่

การสร้าง Initials จากชื่อเต็ม

ใช้ LEFT() และ SUBSTRING_INDEX() เพื่อดึงตัวอักษรแรกของชื่อและนามสกุล

สูตร

CONCAT(
    LEFT(full_name, 1),
    LEFT(SUBSTRING_INDEX(full_name, ' ', -1), 1)
)

ตัวอย่าง

CREATE TABLE demo13 (
    full_name VARCHAR(100),
    short_name VARCHAR(20)
);

INSERT INTO demo13 (full_name) VALUES
('John Smith'), ('David Miller'), ('Chris Brown');

UPDATE demo13
SET short_name = CONCAT(
    LEFT(full_name, 1),
    LEFT(SUBSTRING_INDEX(full_name, ' ', -1), 1)
);

SELECT * FROM demo13;

ผลลัพธ์

full_nameshort_name
John SmithJS
David MillerDM
Chris BrownCB

คำอธิบาย:

  • LEFT(full_name, 1) → ตัวแรกของชื่อ (J, D, C)
  • SUBSTRING_INDEX(full_name, ' ', -1) → นามสกุล (Smith, Miller, Brown)
  • LEFT(..., 1) → ตัวแรกของนามสกุล (S, M, B)

ข้อจำกัด: ทำงานได้เฉพาะชื่อ 2 ส่วน (First + Last) หากมี Middle Name ต้องปรับ Logic