none
Modificar un Campo de una Tabla en función del valor que contenga RRS feed

  • Pregunta

  • Hola a todos.

    Me gustaría poder modificar el valor de un Campo de un registro específico de una Tabla con un valor en función del contenido de dicho Campo, es decir, mediante ejemplo más o menos sería así:

    UPDATE Tabla1 SET Campo1 = Campo1 + Valor WHERE Codigo="..."

    En donde "SET Campo1 = Campo1 + Valor" puede tener diferentes casuisticas, por ejemplo:

    Si "Tabla1.Campo1 = 0" -> Pondré "Valor"

    Si "Tabla1.Campo1 > 0" -> Pondre "Campo1 + Valor",  y así podría poner alguna condición más.

    Me han comentado que esto se puede hacer con algo así como "Select Cause When", pero la verdad es que no se como plantearlo.

    Si alguien puede ayudarme se lo agradezco de antemano.

    Saludos.

     

    miércoles, 12 de mayo de 2010 6:14

Respuestas

  • Si el servidor es SQL Server la sintaxis es esta:

    UPDATE tabla set Campo1=
       CASE
         WHEN Campo1=0 THEN Valor
         WHEN Campo1>0 THEN Campo1+Valor
         --etc
         ELSE 0
       END
    Where Codigo='...'
    • Marcado como respuesta Joanca lunes, 17 de mayo de 2010 6:02
    miércoles, 12 de mayo de 2010 12:11

Todas las respuestas

  • Si el servidor es SQL Server la sintaxis es esta:

    UPDATE tabla set Campo1=
       CASE
         WHEN Campo1=0 THEN Valor
         WHEN Campo1>0 THEN Campo1+Valor
         --etc
         ELSE 0
       END
    Where Codigo='...'
    • Marcado como respuesta Joanca lunes, 17 de mayo de 2010 6:02
    miércoles, 12 de mayo de 2010 12:11
  • hola ,

    pudiste resolver con la informacion que te fucilito Alberto Poblacion?

     

    enmanuel grullard

    republica dominicana

    viernes, 14 de mayo de 2010 14:57
  • Hola a todos y perdón por el retraso.

    Sí, me fué de cine la solución con los CASE WHEN.

    ¡¡¡ Perfecto !!! 

    Gracias y Saludos.

    lunes, 17 de mayo de 2010 6:02