Agregar cadenas a un campo existente en MySQL

Mehvish Ashiq 20 junio 2023
Agregar cadenas a un campo existente en MySQL

Hoy aprenderemos a concatenar o agregar valores de cadena en el campo MySQL usando las funciones CONCAT() y CONCAT_WS().

Use CONCAT() y CONCAT_WS() para agregar cadenas a un campo existente en MySQL

Para aprender sobre CONCAT() y CONCAT_WS(), usemos las siguientes consultas para crear una tabla de categoría que contenga dos campos: category_id y category_code.

Código de ejemplo:

CREATE TABLE category(
    category_id INT,
    category_code VARCHAR(50)
);

INSERT INTO category (category_id, category_code)
VALUES
(1, 'Windows_1'),
(2, 'Windows_2'),
(3, 'Windows_1');

SELECT * FROM category;

Producción :

+-------------+---------------+
| category_id | category_code |
+-------------+---------------+
|           1 | Windows_1     |
|           2 | Windows_2     |
|           3 | Windows_1     |
+-------------+---------------+
3 rows in set (0.00 sec)

Use CONCAT() para agregar cadenas a un campo existente en MySQL

Ahora, concatenamos la palabra estándar con cada valor en la columna category_code usando el método CONCAT().

Código de ejemplo:

UPDATE category SET category_code = CONCAT(category_code, 'standard');

Producción :

+-------------+-------------------+
| category_id | category_code     |
+-------------+-------------------+
|           1 | Windows_1standard |
|           2 | Windows_2standard |
|           3 | Windows_1standard |
+-------------+-------------------+
3 rows in set (0.02 sec)

El método CONCAT() toma uno o varios argumentos de tipo cadena y los concatena en una sola cadena. Esta función necesita al menos un parámetro; de lo contrario, se generaría un error.

Si la expresión es un valor numérico o una cadena no binaria, entonces el método CONCAT() devuelve la cadena binaria o la cadena no binaria. De manera similar, si la expresión es una cadena NULL o binaria, el método CONCAT() devuelve NULL o cadena binaria.

El resultado anterior muestra que la palabra estándar se añade sin ningún separador. Para agregar un separador, ejecutamos la consulta de la siguiente manera.

Código de ejemplo:

UPDATE category SET category_code = CONCAT(category_code, '_','standard');

Producción :

+-------------+--------------------+
| category_id | category_code      |
+-------------+--------------------+
|           1 | Windows_1_standard |
|           2 | Windows_2_standard |
|           3 | Windows_1_standard |
+-------------+--------------------+
3 rows in set (0.00 sec)

Supongamos que tenemos una cadena que consta de 3 palabras que queremos agregar con un separador, entonces haremos lo siguiente usando el método CONCAT().

Código de ejemplo:

UPDATE category SET
category_code = CONCAT(category_code,'_','standard1','_','standard2','_', 'standard3');

Producción :

+-------------+-----------------------------------------+
| category_id | category_code                           |
+-------------+-----------------------------------------+
|           1 | Windows_1_standard1_standard2_standard3 |
|           2 | Windows_2_standard1_standard2_standard3 |
|           3 | Windows_1_standard1_standard2_standard3 |
+-------------+-----------------------------------------+
3 rows in set (0.06 sec)

Ahora, piensa en 6 palabras en una cadena que quieras agregar; el código ya no estaría limpio. Entonces, aquí es donde usamos la función CONCAT_WS().

Use CONCAT_WS() para agregar cadenas a un campo existente en MySQL

Código de ejemplo:

UPDATE category SET
category_code = CONCAT_WS('_',category_code,'standard1','standard2','standard3');

Producción :

+-------------+-----------------------------------------+
| category_id | category_code                           |
+-------------+-----------------------------------------+
|           1 | Windows_1_standard1_standard2_standard3 |
|           2 | Windows_2_standard1_standard2_standard3 |
|           3 | Windows_1_standard1_standard2_standard3 |
+-------------+-----------------------------------------+
3 rows in set (0.00 sec)

Al igual que CONCAT(), el método CONCAT_WS() también toma argumentos de tipo cadena. El primer argumento es el separador y los restantes son los valores de cadena que queremos agregar.

Este método ignora la expresión con un valor NULL y devuelve un valor NULL si el separador es NULL.

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

Artículo relacionado - MySQL String