บทนำ
การจัดรูปแบบชื่อให้เป็นรูปแบบมาตรฐาน (Title Case) โดยให้ตัวอักษรแรกเป็นพิมพ์ใหญ่ และที่เหลือเป็นพิมพ์เล็ก สามารถทำได้ด้วยการรวมฟังก์ชัน UCASE(), LCASE(), LEFT(), SUBSTRING() และ CONCAT()
ตัวอย่างการสร้างตารางและเพิ่มข้อมูล
mysql> CREATE TABLE DemoTable (
-> Name VARCHAR(100)
-> );
Query OK, 0 rows affected (1.32 sec)
mysql> INSERT INTO DemoTable VALUES('JOhn');
mysql> INSERT INTO DemoTable VALUES('CHRIS');
mysql> INSERT INTO DemoTable VALUES('DAVID');
mysql> INSERT INTO DemoTable VALUES('RObert');
แสดงข้อมูลก่อนอัปเดต
mysql> SELECT * FROM DemoTable;
ผลลัพธ์
+--------+
| Name |
+--------+
| JOhn |
| CHRIS |
| DAVID |
| RObert |
+--------+
4 rows in set (0.00 sec)
คำสั่งอัปเดตให้เป็นรูปแบบ Title Case
mysql> UPDATE DemoTable
-> SET Name = CONCAT(UCASE(LEFT(Name, 1)), LCASE(SUBSTRING(Name, 2)));
ผลลัพธ์หลังอัปเดต
mysql> SELECT * FROM DemoTable;
+--------+
| Name |
+--------+
| John |
| Chris |
| David |
| Robert |
+--------+
4 rows in set (0.00 sec)
การทำงานของคำสั่ง
LEFT(Name, 1)- ดึงตัวอักษรตัวแรกUCASE(...)- แปลงเป็นพิมพ์ใหญ่SUBSTRING(Name, 2)- ดึงตัวอักษรตั้งแต่ตัวที่ 2 ถึงสุดLCASE(...)- แปลงเป็นพิมพ์เล็กCONCAT(...)- รวมสองส่วนเข้าด้วยกัน
หมายเหตุ
ใน MySQL 8.0+ สามารถใช้ INITCAP() (หรือฟังก์ชันที่เทียบเท่า) ได้โดยตรง แต่รุ่นเก่าต้องใช้วิธีนี้