Последнее обновление
CHAR_LENGTH
Описание
Функция CHAR_LENGTH вычисляет количество символов (не байтов) в строке. Для многобайтовых символов (например, китайских иероглифов) она возвращает количество символов.
В настоящее время поддерживается только кодировка UTF-8.
Псевдоним
- CHARACTER_LENGTH
Синтаксис
CHAR_LENGTH(<str>)
Параметры
| Параметр | Описание |
|---|---|
<str> | Строка, для которой требуется вычислить количество символов. Тип: VARCHAR |
Возвращаемое значение
Возвращает значение типа INT, представляющее количество символов в строке.
Особые случаи:
- Если параметр равен NULL, возвращает NULL
- Для пустой строки возвращает 0
- Каждый многобайтовый символ UTF-8 считается за 1 символ
Примеры
- Английские символы
SELECT CHAR_LENGTH('hello');
+----------------------+
| char_length('hello') |
+----------------------+
| 5 |
+----------------------+
- Китайские иероглифы (каждый китайский иероглиф считается одним символом)
SELECT CHAR_LENGTH('中国');
+----------------------+
| char_length('中国') |
+----------------------+
| 2 |
+----------------------+
- Обработка значения NULL
SELECT CHAR_LENGTH(NULL);
+--------------------+
| char_length(NULL) |
+--------------------+
| NULL |
+--------------------+
- Сравнение с функцией LENGTH (LENGTH возвращает количество байтов)
SELECT CHAR_LENGTH('中国') AS char_len, LENGTH('中国') AS byte_len;
+----------+----------+
| char_len | byte_len |
+----------+----------+
| 2 | 6 |
+----------+----------+