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

การแปลงตัวอักษรให้เป็นตัวพิมพ์ใหญ่ตัวแรก ตัวอื่นๆ เป็นตัวเล็กใน MySQL

ฟังก์ชันสำหรับจัดรูปแบบข้อความ (Title Case)

MySQL ไม่มีฟังก์ชัน PROPER() หรือ INITCAP() เหมือนฐานข้อมูลอื่นๆ แต่สามารถสร้างได้โดยรวมฟังก์ชัน UPPER(), LOWER(), LEFT(), SUBSTRING() และ REPLACE()

สูตรการแปลง

UPDATE table_name
SET column_name = REPLACE(
    CONCAT(UPPER(LEFT(column_name, 1)), LOWER(SUBSTRING(column_name, 2))),
    ' , ', ', '
);

ตัวอย่างการใช้งาน

CREATE TABLE DemoTable2017 (Name TEXT);

INSERT INTO DemoTable2017 VALUES
('JOHN SMITH,MYSQL'),
('DAVID MILLER,MONGODB'),
('CHRIS BROWN,JAVA');

UPDATE DemoTable2017
SET Name = REPLACE(
    CONCAT(UPPER(LEFT(Name, 1)), LOWER(SUBSTRING(Name, 2))),
    ' , ', ', '
);

ผลลัพธ์

Name
John smith,mysql
David miller,mongodb
Chris brown,java

หมายเหตุ: สูตรนี้ทำให้ตัวอักษรตัวแรกของทั้งสตริงเป็นตัวใหญ่ ส่วนที่เหลือเป็นตัวเล็ก หากต้องการให้ทุกคำขึ้นต้นด้วยตัวใหญ่ (True Title Case) จะต้องใช้ฟังก์ชันที่ซับซ้อนกว่านี้หรือจัดการในระดับแอปพลิเคชัน