MySQL, concat values

Hay veces que por algún motivo necesitas a un valor que ya tienes en la base de datos, añadirle concatenarle otro valor. Si es este el caso, MySQL permite hacerlo de forma muy simple e inmediata, sin necesidad de pasar por código externo. Partimos de los siguientes datos,
mysql> select * from scripts;
+----------+---------+----------------------------+
| scriptid | name    | command                    |
+----------+---------+----------------------------+
|        1 | ES-Ping | /bin/ping -c 3 {HOST.CONN} |
+----------+---------+----------------------------+
1 row in set (0.00 sec)
Y nos interesa, poner en la columna command, antes del valor actual un 'timeout 30', para hacerlo, qué mejor que concatenar el valor que deseamos al actual que hay. tal como sigue,
mysql> update scripts set command=concat('timeout 30 ',command);
Tras ello, vemos que el cambio ha tenido el efecto deseado.
mysql> select * from scripts;
+----------+---------+---------------------------------------+
| scriptid | name    | command                               |
+----------+---------+---------------------------------------+
|        1 | ES-Ping | timeout 30 /bin/ping -c 3 {HOST.CONN} |
+----------+---------+---------------------------------------+
1 row in set (0.00 sec)
Si nos interesa, concat también lo puede hacer al revés, primero el valor que hay y luego el nuevo,
mysql> update scripts set command=concat(command, 'timeout 30 ');

Más info en mysql-string-functions.


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios