sql >> Base de Datos >  >> RDS >> Mysql

Cómo concatenar cadenas en MySQL con CONCAT()

MySQL tiene el CONCAT() función, que le permite concatenar dos o más cadenas. La función en realidad permite uno o más argumentos, pero su uso principal es concatenar dos o más cadenas.

En MySQL (y en cualquier entorno de programación informática), la concatenación de cadenas es la operación de unir cadenas de caracteres de extremo a extremo.

He aquí un ejemplo:

SELECT CONCAT('Homer', ' ', 'Simpson') AS 'Full Name';

Resultado:

+---------------+
| Full Name     |
+---------------+
| Homer Simpson |
+---------------+

Tenga en cuenta que en realidad concatené 3 cadenas aquí. Concatené el nombre, el apellido, más un espacio.

Si no hubiera agregado el espacio, se vería así:

SELECT CONCAT('Homer', 'Simpson') AS 'Full Name';

Resultado:

+--------------+
| Full Name    |
+--------------+
| HomerSimpson |
+--------------+

Cuál puede o no ser el resultado que está buscando.

Entonces, si aplicamos esto a una base de datos, la consulta podría verse así:

SELECT CONCAT(FirstName, ' ', LastName) AS 'Full Name'
FROM Individuals
WHERE IndividualId = '1';

Resultado:

+---------------+
| Full Name     |
+---------------+
| Homer Simpson |
+---------------+

Si está concatenando más de dos cadenas y necesita un espacio (u otro separador), considere usar CONCAT_WS() función. Esto le permite especificar un separador que se utilizará entre cada cadena. Solo necesita especificar el separador una vez, y se usa en cada cadena que se concatena, lo que le evita tener que volver a escribirlo entre cada cadena.

Argumentos NULL

El CONCAT() la función devuelve NULL si algún argumento es NULL .

Ejemplo:

SELECT CONCAT('Homer', NULL, 'Simpson') AS 'Full Name';

Resultado:

+-----------+
| Full Name |
+-----------+
| NULL      |
+-----------+

Cadenas binarias frente a cadenas no binarias

La documentación de MySQL dice:

Si todos los argumentos son cadenas no binarias, el resultado es una cadena no binaria. Si los argumentos incluyen cadenas binarias, el resultado es una cadena binaria. Un argumento numérico se convierte a su forma de cadena no binaria equivalente.