En el CASE simple se evalúa una columna que es siempre la misma. De acuerdo al valor que tenga esa columna se realiza alguna acción, como podemos ver a continuación:

SELECT
   PER_IDENTI,
   PER_NOMBRE,
   CASE PER_ESTCIV
      WHEN 'S' THEN 'Soltera/o'
      WHEN 'C' THEN 'Casada/o'
      WHEN 'E' THEN 'Separada/o'
      WHEN 'D' THEN 'Divorciada/o'
      WHEN 'V' THEN 'Viuda/o'
   END
FROM
   PERSONAS

En la columna PER_ESTCIV guardamos una letra que representa al estado civil de una persona (S, C, E, D o V) pero en el SELECT no mostramos esa letra sino el nombre del estado civil (Soltera/o, Casada/o, Separada/o, Divorciada/o, Viuda/o) porque esto es mucho más entendible.

Fíjate que el CASE siempre debe finalizar con un END. Si no lo finalizas con un END el Firebird te mostrará un mensaje de error.

El SELECT anterior se puede mejorar agregándole un alias a la columna PER_ESTCIV para que sea más entendible:

SELECT
   PER_IDENTI,
   PER_NOMBRE,
   CASE PER_ESTCIV
      WHEN 'S' THEN 'Soltera/o'
      WHEN 'C' THEN 'Casada/o'
      WHEN 'E' THEN 'Separada/o'
      WHEN 'D' THEN 'Divorciada/o'
      WHEN 'V' THEN 'Viuda/o'
   END AS EstadoCivil
FROM
   PERSONAS

Recuerda: En el CASE simple siempre se evalúa una sola columna (en este ejemplo el nombre de esa columna es PER_ESTCIV)

Anuncios