none
Consulta utilizando REPLACE para varios datos RRS feed

  • 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
    miércoles, 23 de septiembre de 2020 5:19

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
    miércoles, 23 de septiembre de 2020 6:42

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
    miércoles, 23 de septiembre de 2020 6:42
  • 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.!

    miércoles, 23 de septiembre de 2020 7:01
  • Muchas gracias Knossos_

    Realmente es solo para mostrar los datos de salida al usuario, los datos reales se deben mantener en la DB.

    Pero de igual manera gracias por el dato para cuando se requiera un UPDATE.


    Respuesta de foro Microsoft

    miércoles, 23 de septiembre de 2020 18:42