Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Diseño web | Promoción web | Ganar dinero
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Contar caracteres con MySQL


Hacemos uso de las funciones para contar caracteres en MySQL. Varios ejemplos de sentencia SQL que cuenta caracteres de strings.


04/1/08 - En este taller de MySQL vamos a hacer uso de las funciones del lenguaje SQL para contar caracteres de un campo guardado en una tabla. Es decir, vamos a seleccionar diversos registros de una tabla y vamos a contar los caracteres de uno de sus campos.

En el juego de funciones de MySQL para string (cadenas de caracteres) tenemos varias funciones para contar caracteres:

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.

Por ahora vamos a utilizar CHARACTER_LENGTH, que parece que nos devolverá los resultados que esperamos obtener, el número de caracteres de la cadena, independientemente que la codificación pueda ser multi-byte.

SELECT character_length( 'un texto' )

Esta sentencia devolvería el valor 8, que es el número de caracteres que tiene el la cadena "un texto".

Pero ahora pongamos que queremos sacar todos los países de una tabla, junto con el número de caracteres que tiene cada una de las cadenas del nombre del país.

SELECT CHARACTER_LENGTH(nombre_pais), nombre_pais FROM pais

Esto nos devolvería un conjunto de registros con el número de caracteres de cada nombre del país y luego otro campo con el nombre del país.

SELECT nombre_pais FROM pais where CHARACTER_LENGTH(nombre_pais)=6

Esto nos devuelve los nombres de país que tienen 6 caracteres.

SELECT CHARACTER_LENGTH(nombre_pais) as 'numcaracteres', nombre_pais FROM pais ORDER BY CHARACTER_LENGTH(nombre_pais)

Esta última sentencia devuelve un conjunto de registros donde el primer campo, que hemos dado el nombre de "numcaracteres" para luego referirnos a él, muestra el número de caracteres y el segundo campo el nombre del país. Luego está ordenado por la longitud de la cadena, contada también por sus caracteres.

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada

 Autoría, licencia y acciones sobre este artículo

Informe de Miguel Angel Alvarez*
Director de DesarrolloWeb.com

Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Taller de MySQL

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en MySQL


 Comentarios de los visitantes
Aun no hemos recibido comentarios de este artículo.
Puedes ser el primero en enviar tu comentario.



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Taller de MySQL
Categorías
+MySQL

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia