Funcion Decode

Pablo
18 de Noviembre del 2005
Necesito saber si en la funcion deocde pueden evaluarse condiciones de >,<,>= o solo permite evaluar por =, y como es la sintaxis.
Hay otra funcion en oracle que lo haga, es decir como un IIF en otras BD ?

desa
18 de Noviembre del 2005
La funci贸n decode solo evalua por =, ahora pensando un poco puedes utilizar m谩s de una funci贸n para saber si es >, <... Por ejemplo, si queremos que ocurra una cosa cuando la columna1 sea < que la columna2, podr铆amos usar la funci贸n decode haciendo:
DECODE(SIGN(COLUMNA1 - COLUMNA2), -1, RESULTADO2, RESULTADO2)
No s茅 si existe una forma m谩s limpia, pero esto funcionar铆a...
Saludos.

Carlos
18 de Noviembre del 2005
>>La funci贸n decode solo evalua por =, ahora pensando un poco puedes utilizar m谩s de una funci贸n para saber si es>, <... Por ejemplo, si queremos que ocurra una cosa cuando la columna1 sea < que la columna2, podr铆amos usar la funci贸n decode haciendo: DECODE(SIGN(COLUMNA1 - COLUMNA2), -1, RESULTADO2, RESULTADO2)
No s茅 si existe una forma m谩s limpia, pero esto funcionar铆a...

Pues S脥 existe una forma m谩s limpia: CASE...WHEN

Un saludo.

Carlos

desa
18 de Noviembre del 2005
Mucho m谩s limpio con el CASE ciertamente... aunque la m铆a era original eh???, jejeje.

Un saludo Carlos, (en la del TOP llevo yo raz贸n).

desa
18 de Noviembre del 2005
Por cierto, la funci贸n que he empleado: SIGN(N) devuelve, if N < 0 then -1; if N = 0 then 0; if N > 0 then 1