In MySQL, the UPPER()
function converts lowercase characters to uppercase, according to the current character set mapping (the default mapping is utf8mb4
).
Syntax
The syntax goes like this:
UPPER(str)
Where str is the string to be changed to uppercase.
Example
Here’s an example:
SELECT UPPER('cat');
Result:
+--------------+ | UPPER('cat') | +--------------+ | CAT | +--------------+
As you might expect, if the string already contains any uppercase characters, those characters will remain in uppercase.
Example:
SELECT UPPER('Cat');
Result:
+--------------+ | UPPER('Cat') | +--------------+ | CAT | +--------------+
Database Example
Here’s an example of selecting data from a database and converting it to uppercase:
USE Music; SELECT ArtistName AS Original, UPPER(ArtistName) AS Uppercase FROM Artists LIMIT 5;
Result:
+------------------+------------------+ | Original | Uppercase | +------------------+------------------+ | Iron Maiden | IRON MAIDEN | | AC/DC | AC/DC | | Allan Holdsworth | ALLAN HOLDSWORTH | | Buddy Rich | BUDDY RICH | | Devin Townsend | DEVIN TOWNSEND | +------------------+------------------+
Binary Strings
This function doesn’t work on binary strings. If you need to use it on a binary string, you’ll need to convert it to a nonbinary string first. Here’s an example:
SET @str = BINARY 'Cat'; SELECT UPPER(@str) AS 'Binary', UPPER(CONVERT(@str USING utf8mb4)) AS 'Nonbinary';
Result:
+--------+-----------+ | Binary | Nonbinary | +--------+-----------+ | Cat | CAT | +--------+-----------+
The UCASE() Function
The UCASE()
function is a synonym for UPPER()
. Note that if you use UCASE()
within a view, it will be rewritten and stored as UPPER()
.
Convert to Lowercase
The LOWER()
and LCASE()
functions work the same way to convert characters to lowercase.