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

Chuyển toàn bộ giá trị cột thành chữ HOA trong MySQL

Hàm UPPER()

Chuyển đổi chuỗi sang chữ in hoa (uppercase).

Ví dụ: Chuyển ngay khi INSERT

Tạo bảng:

CREATE TABLE DemoTable627 (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    FirstName VARCHAR(100)
);

Insert với UPPER():

INSERT INTO DemoTable627(FirstName) VALUES (UPPER('John'));
INSERT INTO DemoTable627(FirstName) VALUES (UPPER('Sam'));
INSERT INTO DemoTable627(FirstName) VALUES (UPPER('Mike'));
INSERT INTO DemoTable627(FirstName) VALUES (UPPER('Carol'));
INSERT INTO DemoTable627(FirstName) VALUES (UPPER('dAVID'));

Kết quả:

+----+-----------+
| Id | FirstName |
+----+-----------+
| 1  | JOHN      |
| 2  | SAM       |
| 3  | MIKE      |
| 4  | CAROL     |
| 5  | DAVID     |
+----+-----------+

Các hàm liên quan

HàmChức năngVí dụ
UPPER(str) / UCASE(str)Chữ HOA'abc' → 'ABC'
LOWER(str) / LCASE(str)Chữ thường'ABC' → 'abc'
INITCAP(str)Chữ đầu từ HOA (MySQL không có sẵn, Oracle có)'hello world' → 'Hello World'

Ứng dụng trong SELECT

-- Tìm kiếm case-insensitive (MySQL default CI collation đã làm)
SELECT * FROM users WHERE UPPER(email) = UPPER('TEST@EXAMPLE.COM');

-- Hiển thị chuẩn hóa
SELECT UPPER(first_name), LOWER(last_name) FROM users;

Cập nhật dữ liệu hiện có

UPDATE DemoTable627 SET FirstName = UPPER(FirstName);

Lưu ý Unicode

  • MySQL 8.0+ collation mặc định utf8mb4_0900_ai_ci hỗ trợ Unicode tốt (ví dụ: 'ß' → 'SS' khi UPPER).
  • Collation cũ utf8_general_ci có thể không xử lý đúng một số ký tự đặc biệt.
  • Để case-sensitive: Dùng collation _cs (ví dụ: utf8mb4_bin) hoặc BINARY keyword.