En ocasiones necesitamos contar los caracteres de un campo vamos a verlo de una forma muy simple:
LENGTH(cadena)
Recibe una cadena y cuenta y devuelve el número de caracteres.
CHARACTER_LENGTH(cadena)
Recibe también una cadena y devuelve el número de caracteres contados.
CHAR_LENGTH(cadena)
Es un sinónimo de CHARACTER_LENGTH. Aunque no lo tienen todas las versiones de MySQL.
La diferencia entre LENGTH y CHARACTER_LENGTH es que en CHARACTER_LENGTH un carácter "multibyte" cuenta como un solo carácter. En LENGTH cuenta el número de bytes de la cadena. Así que en el caso de tener una cadena con 5 caracteres que ocupan 2 bytes cada uno, LENGTH devolvería 10 y CHARACTER_LENGTH sólo 5.
Y la forma de utilizar la instrucción es :
SELECT character_length( 'campo' ), campo FROM tabla
Esto nos devolvería un conjunto de registros con el número de caracteres de cada registro y luego otra columna con contenido.
También podemos usarlo en las condiciones:
SELECT campo FROM tabla where CHARACTER_LENGTH(campo)=6
Y en la ordenación:
SELECT CHARACTER_LENGTH(campo) as 'numcaracteres', campo FROM tabla ORDER BY CHARACTER_LENGTH(campo)
¿Fácil no ?