BrunoCarloPJ 2 de fev. de 2005
“jgbt”:
use o case when, de uma olhada na documentação.
[]'s
É, este eu ja olhei, as este corresponde ao switch case, ele só compara uum casa, apos o outro… e tb não suporta if’s aninhados…
a parada é f***, mas valeu, vou reler a documentação…
Mas se alguém tiver mais uma idéia…
dfalcaoPJ 3 de fev. de 2005
Bruno… concorda comigo que o resultado da subtração de dois valores x e y é:
ZERO quando X = Y
>ZERO quando X > Y ex.: 5 - 3 = 2
< ZERO quando X < Y ex.: 3 - 5 = -2
OK ??
Existe uma função no Oracle chamada SIGN que tem os seguintes retornos:
0 quando o parametro passado for ZERO
1 quando o parametro for maior que ZERO
-1 quando o parametro passado for menor que ZERO
Entao se queres colocar numa expressao SQL uma comparacao que verifique se é maior ou menor use o seguinte exemplo:
SELECT DECODE & # 40 ; SIGN & # 40 ; X - Y & # 41 ;, 0 , ' IGUAIS ' , 1 , ' X MAIOR ' , - 1 , ' Y MAIOR ' & # 41 ;
FROM DUAL ;
e pode aninhar varias vezes para fazer expressoes mais complexas…
Nao é mto trivial mas funciona.
[]s
Douglas Falcão
BrunoCarloPJ 3 de fev. de 2005
“dfalcao”:
Bruno… concorda comigo que o resultado da subtração de dois valores x e y é:
ZERO quando X = Y
>ZERO quando X > Y ex.: 5 - 3 = 2
< ZERO quando X < Y ex.: 3 - 5 = -2
OK ??
Existe uma função no Oracle chamada SIGN que tem os seguintes retornos:
0 quando o parametro passado for ZERO
1 quando o parametro for maior que ZERO
-1 quando o parametro passado for menor que ZERO
Entao se queres colocar numa expressao SQL uma comparacao que verifique se é maior ou menor use o seguinte exemplo:
SELECT DECODE & # 40 ; SIGN & # 40 ; X - Y & # 41 ;, 0 , ' IGUAIS ' , 1 , ' X MAIOR ' , - 1 , ' Y MAIOR ' & # 41 ;
FROM DUAL ;
e pode aninhar varias vezes para fazer expressoes mais complexas…
Nao é mto trivial mas funciona.
[]s
Douglas Falcão
Essa foi show de bola, já resolveu uma parte do problema, a dos numeros, mas darei uma boa para ver se isto serve para strings tb…
Valeu Douglas