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àm | Chức năng | Ví 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_cihỗ trợ Unicode tốt (ví dụ: 'ß' → 'SS' khi UPPER). - Collation cũ
utf8_general_cicó 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ặcBINARYkeyword.