MySQL - Borrar espacios en blanco entre concat

 
Vista:
Imágen de perfil de Jorge Luis
Val: 5
Ha aumentado su posición en 28 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Borrar espacios en blanco entre concat

Publicado por Jorge Luis (2 intervenciones) el 06/05/2021 00:20:32
Hola, tengo una tabla que contiene: nombre_completo, primero_nombre,segundo_nombre,apellido_paterno,apellido_materno.

Ahora bien estoy concatenando CONCAT(primer_nombre,segundo_nombre,apellido_paterno,apellido_materno) dentro de la columna nombre_completo.

Pero tengo el detalle que en la columna "segundo_nombre" tengo campos vacíos, entonces al concatenar los campos y aun así usando RTRIM, LTRIM o TRIM, me deja ese espacio.

Pongo ejemplo de como queda (AGUSTIN HERNANDEZ MARTINEZ) si se dan cuenta existe un espacio de más entre AGUSTIN y HERNANDEZ, ya que no tiene segundo nombre, pero no puedo eliminar ese espacio...

Espero me puedan ayudar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 9
Ha aumentado su posición en 4 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Borrar espacios en blanco entre concat

Publicado por RONALD (3 intervenciones) el 06/05/2021 00:57:05
Buena noche, en base al ejemplo planteado se me ocurre que puedes usa REPLACE para reemplazar los dos espacios an blanco por un espacio simple... algo similar a:

update 'mi_tabla' set nombre_campo= replace(nombre_campo, 'texto_a_encontrar', 'texto_a_reemplazar');

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jorge Luis
Val: 5
Ha aumentado su posición en 28 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Borrar espacios en blanco entre concat

Publicado por Jorge Luis (2 intervenciones) el 06/05/2021 01:03:30
Ya he usado todas estas y ningun me funciona

1
2
3
4
5
6
7
8
9
10
11
update participantes p SET nombre_completo = concat(p.primer_nombre,RTRIM(' '),TRIM(p.segundo_nombre),' ',p.apellido_paterno,' ',p.apellido_materno)
 
update participantes p SET nombre_completo = concat(p.primer_nombre,REPLACE(' ',''),TRIM(p.segundo_nombre),' ',p.apellido_paterno,' ',p.apellido_materno)
 
UPDATE participantes p SET nombre_completo = REPLACE(p.nombre_completo,' ','')
 
update participantes p SET nombre_completo = concat(p.primer_nombre,' ',REPLACE(p.segundo_nombre,' ',''),' ',p.apellido_paterno,' ',p.apellido_materno)
 
update participantes p SET nombre_completo = concat(RTRIM(p.primer_nombre),' ',REPLACE(p.segundo_nombre,' ',''),' ',p.apellido_paterno,' ',p.apellido_materno)
 
update participantes p SET nombre_completo = concat(RTRIM(p.primer_nombre),' ',LTRIM(p.segundo_nombre),' ',p.apellido_paterno,' ',p.apellido_materno)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 4 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Borrar espacios en blanco entre concat

Publicado por RONALD (3 intervenciones) el 06/05/2021 01:36:19
creo que usando:
1.- update participantes p SET nombre_completo = concat(p.primer_nombre,RTRIM(' '),TRIM(p.segundo_nombre),' ',p.apellido_paterno,' ',p.apellido_materno)

2.- UPDATE participantes p SET nombre_completo = REPLACE(p.nombre_completo,' ','')

primero armas el nombre completo y luego haces el replace; o combinas ambas para hacer un solo comando. Ojo debes reemplazar 2 espacios por 1 solo espacio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar