The LENGTH function returns the byte length of a string (in bytes). This function calculates the number of bytes a string occupies in UTF-8 encoding, not the number of characters.
Note the difference from CHAR_LENGTH:
LENGTH() returns the number of bytesCHAR_LENGTH() and CHARACTER_LENGTH() return the number of charactersOCTET_LENGTH()LENGTH(<str>)
| Parameter | Description |
|---|---|
<str> | The string whose byte length needs to be calculated. Type: VARCHAR |
Returns INT type, representing the byte length of the string.
Special cases:
SELECT LENGTH('abc'), CHAR_LENGTH('abc');
+---------------+--------------------+ | LENGTH('abc') | CHAR_LENGTH('abc') | +---------------+--------------------+ | 3 | 3 | +---------------+--------------------+
SELECT LENGTH('中国'), CHAR_LENGTH('中国');
+------------------+---------------------+ | LENGTH('中国') | CHAR_LENGTH('中国') | +------------------+---------------------+ | 6 | 2 | +------------------+---------------------+
SELECT LENGTH(NULL);
+--------------+ | LENGTH(NULL) | +--------------+ | NULL | +--------------+
SELECT LENGTH('');
+------------+ | LENGTH('') | +------------+ | 0 | +------------+
SELECT LENGTH('Hello世界'), CHAR_LENGTH('Hello世界');
+-----------------------+----------------------------+ | LENGTH('Hello世界') | CHAR_LENGTH('Hello世界') | +-----------------------+----------------------------+ | 11 | 7 | +-----------------------+----------------------------+
SELECT LENGTH('\t\n\r'), LENGTH(' ');
+------------------+--------------+ | LENGTH('\t\n\r') | LENGTH(' ') | +------------------+--------------+ | 3 | 2 | +------------------+--------------+
SELECT LENGTH('ṭṛì'), CHAR_LENGTH('ṭṛì');
+--------------------+-------------------------+ | LENGTH('ṭṛì') | CHAR_LENGTH('ṭṛì') | +--------------------+-------------------------+ | 8 | 3 | +--------------------+-------------------------+
SELECT LENGTH('😀😁'), CHAR_LENGTH('😀😁');
+--------------------+-------------------------+ | LENGTH('😀😁') | CHAR_LENGTH('😀😁') | +--------------------+-------------------------+ | 8 | 2 | +--------------------+-------------------------+
SELECT LENGTH('12345'), CHAR_LENGTH('12345');
+-----------------+----------------------+ | LENGTH('12345') | CHAR_LENGTH('12345') | +-----------------+----------------------+ | 5 | 5 | +-----------------+----------------------+