Concatenar dos campos en MySQL

Hoy, estaba hablando con un compañero mío sobre una consulta que estaba intentando hacer y no conseguía de ninguna de las maneras.

Lo que quería hacer era juntar dos columnas o campos de una tabla de mysql para poder buscar una cadena en dichos campos. Por ejemplo: Pongámonos en el caso de que tenemos una tabla de personas y dos campos: uno para el nombre y otro para los apellidos y queremos buscar sobre esas personas sobre esos dos campos pero unificados y mostrarselos como un único campo, como lo haríamos?

Pues utilizando la función concat_ws de mysql. Está función permite concatenar dos o más campos para mostrarse como un único campo.

Veámos un ejemplo:

SELECT concat_ws(' ', nombre, apellidos) as persona FROM personas;

Esta consulta nos devolvería un único campo en el que se han juntado el nombre y los apellidos y utilizando el espacio como caracter de separación, en vez del espacio podemos utilizar cualquier carácter, por ejemplo:

SELECT concat_ws(' ,', nombre, apellidos) as persona FROM personas;

El resultado sería:

Esteban, García García

Si también queremos utilizar este campo concatenado dentro de WHERE tendremos que utilizar el concat_ws porqué WHERE no sabe que existe un campo concatenado, por lo que quedaría así:

SELECT concat_ws(' ', nombre, apellidos) as persona FROM personas WHERE concat_ws(' ', nombre, apellidos) LIKE '%cadena%';

Con el ejemplo anterior buscaría todas las personas que tuvieran la palabra <cadena> y mostraría el nombre completo de la persona.

Podéis encontrar más información en el siguiente enlace:

Concatenar campos en mysql

Entradas relacionadas:

  1. Como leer un XML con PHP Aquí tenemos un ejemplo de como leer un archivo XML que Contiene un grupo de personas cada una con su...
  2. Como conectarse a MySQL desde línea de comandos Con este tip podremos conectarnos a la consola de mysql y poder ejecutar culquier consulta de SQL o realizar tareas...
  3. Algunas funciones para cadenas en PHP Aquí os mostramos algunos ejemplos de como funcionan algunas funciones para el tratamiento de cadenas en php strlen Con esta...
  4. Detectar consultas lentas en MySQL Es posible que, a veces, las páginas web alojadas en nuestro servidor tarden mucho en cargarse. Si nuestras páginas utilizan...
  5. ¿Como puedo crear un buzón de correo desde mi Panel de Control Plesk? Acceda al panel de control a través de la siguiente url: https://su.dominio:8443/ (sustituya “su.domino” por el nombre de su dominio)...

Siguenos en facebook

1 Comentario

Deja un comentario