Cadenas

LENGTH

Cuenta cuántos caracteres tiene una cadena.

Sintaxis

LENGTH(<texto>)
CHAR_LENGTH(<texto>)

Devuelve el número de caracteres, espacios incluidos. CHAR_LENGTH hace lo mismo y forma parte del estándar SQL. Se usa a menudo para comprobar longitudes: una contraseña demasiado corta, un nombre demasiado largo.

Datos para los ejemplos

employees

namedepartmentsalarybonusphone
Emmabackend1200300+44 7700 900123
Liambackend1000NULLNULL
Oliviafrontend1350150+44 7700 900456
Noahfrontend950NULL+44 7700 900789
Sophiadesign1200200NULL

Estas tablas ya están creadas en el entorno de pruebas y los ejemplos de abajo las usan. ¿Quieres repetirlo en tu propia base de datos? Copia el SQL.

La longitud de una cadena
SELECT LENGTH('PostgreSQL') AS letters,
LENGTH('SQL rocks') AS with_space;
letterswith_space
109
La longitud de cada nombre
SELECT name, LENGTH(name) AS name_length
FROM employees;
namename_length
Emma4
Liam4
Olivia6
Noah4
Sophia6
Solo los nombres de más de 4 letras
SELECT name
FROM employees
WHERE LENGTH(name) > 4;
name
Olivia
Sophia

Ten en cuenta

Cuenta caracteres, no bytes: LENGTH('café') da 4, aunque en memoria ocupa 5 bytes. Los bytes los cuenta OCTET_LENGTH.

Para NULL el resultado también es NULL, no 0. Solo una cadena vacía '' da cero.

Con el tipo char(n), los espacios del final no cuentan: LENGTH('ab '::char(4)) da 2, y con text, 4.

Funciones relacionadas

OCTET_LENGTHTRIMSUBSTRING

Más detalles en el curso