En MariaDB, CHAR_LENGTH()
es una función de cadena integrada que devuelve la longitud del argumento de cadena dado, medido en caracteres.
Sintaxis
La sintaxis es así:
CHAR_LENGTH(str)
Donde str
es la cadena para la que se devolverá la longitud.
Ejemplo
He aquí un ejemplo básico:
SELECT CHAR_LENGTH('Splash');
Resultado:
+-----------------------+ | CHAR_LENGTH('Splash') | +-----------------------+ | 6 | +-----------------------+
Caracteres de varios bytes
El CHAR_LENGTH()
La función cuenta cada carácter como un solo carácter, independientemente de cuántos bytes utilice. Por lo tanto, los caracteres que usan dos, tres o incluso cuatro bytes se seguirán contando como un carácter.
Esto contrasta con funciones como LENGTH()
, que devuelve el número de bytes (a menos que esté en modo Oracle, en cuyo caso hace lo mismo que CHAR_LENGTH()
– devuelve el número de caracteres). También contrasta con funciones como BIT_LENGTH()
que devuelve el número de bits en una cadena.
Aquí hay un ejemplo que compara estas funciones:
SELECT
CHAR_LENGTH('©'),
LENGTH('©'),
BIT_LENGTH('©');
Resultado:
+-------------------+--------------+------------------+ | CHAR_LENGTH('©') | LENGTH('©') | BIT_LENGTH('©') | +-------------------+--------------+------------------+ | 1 | 2 | 16 | +-------------------+--------------+------------------+
El símbolo de copyright (©
) utiliza dos bytes. CHAR_LENGTH()
devuelve 1, porque todavía es un solo carácter. LENGTH()
y BIT_LENGTH()
por otro lado, devuelve el número de bytes y bits respectivamente.
Este ejemplo se realizó usando el SQL_MODE
predeterminado . Como se mencionó, si hubiera estado en modo Oracle, LENGTH()
se habría comportado como CHAR_LENGTH()
y devolvió 1
.
Argumentos nulos
Pasando null
devuelve null
:
SELECT CHAR_LENGTH(null);
Resultado:
+-------------------+ | CHAR_LENGTH(null) | +-------------------+ | NULL | +-------------------+
Argumento faltante
Llamando a CHAR_LENGTH()
sin pasar un argumento da como resultado un error:
SELECT CHAR_LENGTH();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CHAR_LENGTH'
Consulte también CHARACTER_LENGTH()
función, que es un sinónimo de CHAR_LENGTH()
.