Asunto: Concatenar texto en UPDATE de SQL con MySQL
Necesito actualizar los valores de una columna (campo) de una tabla, el campo "factura" que quiero actualizar es de tipo VARCHAR(10), tiene ya registros y datos y quiero añadirles a todos delante el carácter "F".
Por ejemplo, si tengo estos registros en la tabla:
0001
0002
0003
Quiero ponerle:
F0001
F0002
F0003
¿Cómo hago esto? he intentado ejecutar esta consulta SQL en MySQL Administrator y en MySQL Workbench:
Código:
UPDATE contabilidad
SET factura = 'F' + factura
where factura is not null;
pero da error, dice "Truncated incorrect DOUBLE value: "F" y el campo es de tipo VARCHAR(10).
Publicado:
Mar Dic 11, 2012 7:19 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Concatenar texto en UPDATE de SQL con MySQL
Anuncios
varios escribió:
Necesito actualizar los valores de una columna (campo) de una tabla, el campo "factura" que quiero actualizar es de tipo VARCHAR(10), tiene ya registros y datos y quiero añadirles a todos delante el carácter "F".
Por ejemplo, si tengo estos registros en la tabla:
0001
0002
0003
Quiero ponerle:
F0001
F0002
F0003
¿Cómo hago esto? he intentado ejecutar esta consulta SQL en MySQL Administrator y en MySQL Workbench:
Código:
UPDATE contabilidad
SET factura = 'F' + factura
where factura is not null;
pero da error, dice "Truncated incorrect DOUBLE value: "F" y el campo es de tipo VARCHAR(10).
El error se debe a que el símbolo "+" no es para concatenar cadenas de texto, sino para sumar dos valores numéricos, de ahí que te diga que "F" no es un número. Para concatenar dos cadenas de texto en MySQL puedes usar la función CONCAT, sería algo así:
Código:
UPDATE contabilidad
SET factura = CONCAT('F', factura)
where factura is not null;
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A