Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Viết hoa chữ cái đầu và chuyển thành chữ thường cho các ký tự còn lại trong MySQL

Giới thiệu

Để chuẩn hóa chuỗi ký tự (ví dụ: tên riêng) thành dạng "Viết hoa chữ cái đầu, các ký tự còn lại viết thường", MySQL không có hàm built-in đơn giản như PROPER() (Excel) hay InitCap() (Oracle). Ta cần kết hợp các hàm chuỗi: UPPER, LOWER, LEFT, SUBSTRING, và REPLACE.

Ví dụ minh họa

Bước 1: Tạo bảng và chèn dữ liệu (toàn bộ chữ hoa)

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

Bước 2: Cập nhật để chuẩn hóa chuỗi

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

Giải thích:

  • LEFT(Name, 1): Lấy ký tự đầu tiên.
  • UPPER(...): Viết hoa ký tự đầu.
  • SUBSTRING(Name, 2): Lấy phần còn lại từ ký tự thứ 2.
  • LOWER(...): Chuyển phần còn lại thành chữ thường.
  • CONCAT(...): Ghép lại.
  • REPLACE(..., ', ', ','): Loại bỏ khoảng trắng sau dấu phẩy (nếu có).

Bước 3: Kiểm tra kết quả

SELECT * FROM DemoTable2017;
+----------------------+
| Name                 |
+----------------------+
| John smith,mysql     |
| David miller,mongodb |
| Chris brown,java     |
+----------------------+

Lưu ý: Cách này chỉ viết hoa chữ cái đầu tiên của cả chuỗi. Nếu cần viết hoa từng từ (title case), logic sẽ phức tạp hơn, thường xử lý ở tầng ứng dụng hoặc dùng stored function.