Principales respuestas
Consulta utilizando REPLACE para varios datos

Pregunta
-
Hola
Solicito amablemente su colaboración con lo siguiente:
Se tiene una columna con los siguientes datos:
Se requiere reemplazar los datos 111 por el texto "UNO", 222 por el texto "DOS" Y 333 por el texto "TRES"
Para el valor "111" la consulta utilizada es la siguiente:
SELECT REPLACE (DATO1,'111','UNO') AS DATO1 FROM EJEMPLO
y el resultado es el siguiente:
La pregunta es como hacerlo para que en una misma consulta los valores 111,222 y 333 sean reemplazados por el texto requerido?
Muchas gracias
Respuesta de foro Microsoft
- Editado yulfredy miércoles, 23 de septiembre de 2020 5:21
Respuestas
-
Hola yulfredy:
SELECT REPLACE( REPLACE( REPLACE(DATO1, '111', 'UNO') ,'222' , 'DOS') ,'333' , 'TRES' ) AS DATO1 FROM EJEMPLO;
Puedes concatenar varias veces la función replace.
- Propuesto como respuesta Alberto PoblacionMVP miércoles, 23 de septiembre de 2020 6:56
- Marcado como respuesta yulfredy miércoles, 23 de septiembre de 2020 18:40
Todas las respuestas
-
Hola yulfredy:
SELECT REPLACE( REPLACE( REPLACE(DATO1, '111', 'UNO') ,'222' , 'DOS') ,'333' , 'TRES' ) AS DATO1 FROM EJEMPLO;
Puedes concatenar varias veces la función replace.
- Propuesto como respuesta Alberto PoblacionMVP miércoles, 23 de septiembre de 2020 6:56
- Marcado como respuesta yulfredy miércoles, 23 de septiembre de 2020 18:40
-
Hola.!
OJO: la respuesta de Yul es buena, pero eso no reemplaza en la DDBB los datos reales: simplemente cambia la salida que obtienes. Aqui ya depende de si solo quieres que cambie el formato que le muestras al usuario final o si necesitas un cambio en los datos reales.
Si lo que deseas es cambiar la base de datos (por ejemplo, todos los JUAN por PEDRO...o quitar algun espacio o chr(13) molestos, que a veces pasa), debes usar un Update como el ejemplo siguiente:
UPDATE TABLA SET descripcion = (SELECT REPLACE(descripcion, 'VALOR VIEJO', 'valor nuevo'))
Saludos.!
-