Oracle - Comparaciones con DECODE en PL/SQL

   
Vista:

Comparaciones con DECODE en PL/SQL

Publicado por Byron (12 intervenciones) el 15/10/2013 20:05:50
Buenos dias este foro me a servido mucho,
Estoy utilizando SQL Developer y estoy sacando un listado de facturas y necesito que en el mismo listado me identifique las facturas que tengan un valor mayor a $1000,

Es decir que me haga esto:

If valor_doc > 1000 then
message('FormaPago')
end if

Pero con el decode

select valor_doc,decode(valor_doc, >1000, null, 'valormayor1000') FROM cxp_transacc

Lo que no se es como darle esta instrucciòn con el decode, porque al hacer lo que esta arriba me sale un error.
Me pueden ayudar por favor
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Comparaciones con DECODE en PL/SQL

Publicado por luis pablo luis2409@gmail.com (232 intervenciones) el 16/10/2013 00:20:57
Hola,

te recomiendo que uses el "SELECT CASE" para trabajar con condiciones


1
2
3
4
5
6
7
8
9
10
11
12
13
14
Select importe,
case WHEN  importe > 1000 THEN
  'MAYOR A 1000'
ELSE
  'MENOR A 1000'
end  TIPO_IMPORTE
from (
Select 1000 importe  from dual
union all
Select 500  from dual
union all
Select 8000   from dual
union all
Select 10000   from dual );

Como resultado tienes esto :

1
2
3
4
1	1000	MENOR A 1000
2	500  	MENOR A 1000
3	8000	MAYOR A 1000
4	10000	MAYOR A 1000


Espero cumpla con tu requerimiento .

Saludos

Luis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comparaciones con DECODE en PL/SQL

Publicado por Byron (12 intervenciones) el 16/10/2013 22:51:37
muchas gracias funciono de maravilla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comparaciones con DECODE en PL/SQL

Publicado por luis pablo luis2409@gmail.com (232 intervenciones) el 17/10/2013 16:21:45
De nada, estamos para compartir y difundir el conocimiento.

Saludos


Luis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comparaciones con DECODE en PL/SQL

Publicado por Luis Valera luisvaleras@gmail.com (1 intervención) el 23/01/2016 07:57:59
1
2
3
4
5
6
7
8
from (
Select 1000 importe  from dual
union all
Select 500  from dual
union all
Select 8000   from dual
union all
Select 10000   from dual );

¿por que select 1000 importe? ¿y si es 1000 importe porque 500, 8000, etc. no se le coloca al lado importe?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comparaciones con DECODE en PL/SQL

Publicado por Rodrigo (1 intervención) el 20/02/2015 13:49:38
Buenos días aunque ya han pasado años veo que no han respondido.. puedes usar la función sign para obtener ese resultado


DECODE(SIGN( 12345 - 1001023),'-',1,0) esto dará que es menor por ejemplo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar