30/07/2010, 13:11
|
| | Fecha de Ingreso: julio-2008
Mensajes: 8
Antigüedad: 16 años, 5 meses Puntos: 0 | |
Explicacion decode en query Oracle Saludos soy nuevo en oracle, estuve revisando el query con el que hacian un reporte en oracle reports 6i, bueno casi entendi todo, pero me quedan dudas en una sentencia del reporte que es la siguiente: Decode(Sign(Nvl(saldo_actual,0)-nvl(saldo_anterior,0))),-1,(Nvl(saldo_actual,0)-nvl(saldo_anterior,0)),0) disminucion
Con esta sentencia lo que se quiere lograr es por ejemplo:
Select decode(sign(edad-25),-1,'Menores','mayores')
En este caso mio (lo que esta en negrita), Hace la resta de los saldos actual y anterior, y si es negativo pone la resta del saldo actual - el saldo anterior, caso contrario pone 0, segun entendi
Como resumen, lo que no comprendo es el -1 en la sentencia del decode, que hace, supongo que es para darle el signo negativo.
O en la otra sentencia mas sencilla, lo que se queria hacer era:
select iif(edad>20,'mayores de 20','menor de 20') as rango_edad
from personas;
y con el decode es asi: Select decode(sign(edad-25),-1,'Menores','mayores')
pero no comprendo el -1 bien, podrian explicarme
Gracias por su atencion |