In MySQL, the LOWER()
function converts uppercase characters to lowercase, according to the current character set mapping (the default mapping is utf8mb4
).
Syntax
The syntax goes like this:
LOWER(str)
Where str is the string to be changed to lowercase.
Example
Here’s an example:
SELECT LOWER('CAT');
Result:
+--------------+ | LOWER('CAT') | +--------------+ | cat | +--------------+
Of course, if the string already contains any lowercase characters, those characters will remain lowercase.
Example:
SELECT LOWER('Cat');
Result:
+--------------+ | LOWER('Cat') | +--------------+ | cat | +--------------+
Database Example
Here’s an example of selecting data from a database and converting it to lowercase:
USE Music; SELECT ArtistName AS Original, LOWER(ArtistName) AS Lowercase FROM Artists LIMIT 5;
Result:
+------------------+------------------+ | Original | Lowercase | +------------------+------------------+ | 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 LOWER(@str) AS 'Binary', LOWER(CONVERT(@str USING utf8mb4)) AS 'Nonbinary';
Result:
+--------+-----------+ | Binary | Nonbinary | +--------+-----------+ | Cat | cat | +--------+-----------+
The LCASE() Function
The LCASE()
function is a synonym for LOWER()
. Note that if you use LCASE()
within a view, it will be rewritten and stored as LOWER()
.
Convert to Uppercase
The UPPER()
and UCASE()
functions work the same way to convert characters to uppercase.