Ir al contenido



Foto

Case con variable


  • Por favor identifícate para responder
2 respuestas en este tema

#1 Punzo

Punzo

    Member

  • Miembros
  • PipPip
  • 16 mensajes

Escrito 21 junio 2013 - 03:12

Buen dia a todos, tengo una duda acerca de una consulta con MS SQL Server se puede hacer algo como esto en SQL Server:
CASE lin_edad

When 25 Then lin_porcentaje:= 10;

When 30 Then lin_porcentaje:= 15;

When 35 Then lin_porcentaje:= 17;

Else lin_porcentaje:= 5;

END CASE;


Trate de hacerlo en SQL Server, y me sale un error cerca de "=" la anterior consulta es de Oracle, con SQL Server no le puse los ":" gracias de antemano por la ayuda.
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.465 mensajes
  • LocationMéxico

Escrito 21 junio 2013 - 03:53

Hola amigo

En firebird se hace de esta manera:


CASE lin_edad
  WHEN 25 THEN 10
  WHEN 30 THEN 15
  WHEN 35 THEN 17
  ELSE 5
END AS lin_porcentaje


En SQL Server parece ser igual:


CASE @TestVal
  WHEN 1 THEN 'First'
  WHEN 2 THEN 'Second'
  WHEN 3 THEN 'Third'
  ELSE 'Other'
END


http://blog.sqlautho...nd-explanation/

Saludos
  • 0

#3 Punzo

Punzo

    Member

  • Miembros
  • PipPip
  • 16 mensajes

Escrito 21 junio 2013 - 05:23

Muchas gracias por la pronta respuesta, lo que deseo es asignar un valor a una variable es decir, el case no devuelve nada, nadamas asigna el valor a una variable; exactamente como el ejemplo de Oracle.
  • 0