En MySQL, el CHARACTER_LENGTH()
La función devuelve la longitud de una cadena, medida en caracteres.
CHARACTER_LENGTH()
es un sinónimo de CHAR_LENGTH()
función.
Sintaxis
La sintaxis es así:
CHARACTER_LENGTH(str)
Donde str
es la cadena para la que se devolverá la longitud.
Ejemplo 1:uso básico
He aquí un ejemplo del uso básico:
SELECT CHARACTER_LENGTH('Cat');
Y aquí está el resultado:
+-------------------------+ | CHARACTER_LENGTH('Cat') | +-------------------------+ | 3 | +-------------------------+
Ejemplo 2:espacios en blanco al final
Tenga en cuenta que CHARACTER_LENGTH()
incluye espacios en blanco al final (por ejemplo, espacios al final de la cadena) en sus cálculos.
Entonces, si agregamos un espacio al final del ejemplo anterior:
SELECT CHARACTER_LENGTH('Cat');
Aquí está el resultado:
+--------------------------+ | CHARACTER_LENGTH('Cat ') | +--------------------------+ | 4 | +--------------------------+
Pero siempre podemos eliminar ese espacio final usando el TRIM()
o la función RTRIM()
función:
SELECT CHARACTER_LENGTH(TRIM('Cat ')) AS 'TRIM', CHARACTER_LENGTH(RTRIM('Cat ')) AS 'RTRIM';
Aquí está el resultado:
+------+-------+ | TRIM | RTRIM | +------+-------+ | 3 | 3 | +------+-------+
Ejemplo 3:espacios en blanco iniciales
El mismo concepto se aplica a los espacios en blanco iniciales. Puede usar TRIM
o LTRIM
:
SELECT CHARACTER_LENGTH(TRIM(' Cat')) AS 'TRIM', CHARACTER_LENGTH(LTRIM(' Cat')) AS 'LTRIM';
Resultado:
+------+-------+ | TRIM | LTRIM | +------+-------+ | 3 | 3 | +------+-------+
Ejemplo 4:tipos de datos
No importa en qué tipo de datos se almacene la cadena, aún devolverá el mismo resultado. Esto contrasta con LENGTH()
función, que devolverá el doble de caracteres en los casos en que los datos se almacenen como una cadena Unicode.
En el siguiente ejemplo, la columna ArtistName usa varchar(255) :
SELECT CHARACTER_LENGTH(ArtistName) Result FROM Artists WHERE ArtistName = 'Lit';
Aquí está el resultado:
+--------+ | Result | +--------+ | 3 | +--------+
Y si modificamos el ArtistName
columna para usar Unicode:
ALTER TABLE Artists MODIFY COLUMN ArtistName VARCHAR(255) unicode;
Y ejecute la misma consulta de nuevo:
SELECT CHARACTER_LENGTH(ArtistName) FROM Artists WHERE ArtistName = 'Lit';
Seguimos obteniendo el mismo resultado:
+--------+ | Result | +--------+ | 3 | +--------+
Sin embargo, si hubiéramos usado LENGTH()
función, el resultado sería 6. Esto se debe a que las cadenas Unicode almacenan 2 bytes por carácter, y el LENGTH()
función devuelve la longitud medida en bytes.