Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Case when y decode

Estas en el tema de Case when y decode en el foro de Oracle en Foros del Web. Hola: Tengo una tabla con los datos de los trabajadores de la compañia, en un procedimiento estoy haciendo una consulta por fecha de nacimiento, pero ...
  #1 (permalink)  
Antiguo 23/02/2009, 09:48
 
Fecha de Ingreso: enero-2008
Mensajes: 63
Antigüedad: 16 años, 3 meses
Puntos: 1
Pregunta Case when y decode

Hola:

Tengo una tabla con los datos de los trabajadores de la compañia, en un procedimiento estoy haciendo una consulta por fecha de nacimiento, pero es posible que el procedimiento reciba este paramentro fecha de consulta con valor nulo o vacío, en este caso debería mostrar todos los datos de la tabla. Me han recomendado usar el case when y el decode, alguien me puede dar un ejemplo con estos dos comandos.

Muchas gracias.

select id, nombre, fhnacimiento, sexo, domicilio
from trabajador
  #2 (permalink)  
Antiguo 23/02/2009, 10:17
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
Respuesta: Case when y decode

Código:
select id, nombre, fhnacimiento, sexo, domicilio
from trabajador
where (fhnacimiento = parametro_fecha or parametro_fecha is null)
Saludos
  #3 (permalink)  
Antiguo 23/02/2009, 10:40
 
Fecha de Ingreso: enero-2008
Mensajes: 63
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Case when y decode

Y si el caso fuera que tengo 2 parametros de fecha, fecha inicio, fecha fin, así: se necesita todos los trabajadores cuya fecha de nacimiento este en este rango de fechas, del 01/01/2009 al 28/02/2009.

Gracias.
  #4 (permalink)  
Antiguo 23/02/2009, 10:46
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 16 años, 10 meses
Puntos: 43
Respuesta: Case when y decode

¿ No quedaría mejor esto ? :

fhnacimiento = nvl(parametro_fecha, fhnacimiento )
  #5 (permalink)  
Antiguo 23/02/2009, 11:35
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 1 mes
Puntos: 7
Respuesta: Case when y decode

Cita:
Iniciado por jc3000 Ver Mensaje
¿ No quedaría mejor esto ? :

fhnacimiento = nvl(parametro_fecha, fhnacimiento )
si yo lo hubiera hecho asi pero ahora quiere el rango de fechas, se me ocurre algo como


fhnacimiento between nvl(fecha_ini, fhnacimiento) and nvl(fecha_fin, fhnacimiento)
__________________
Blogzote.com :-) Mi blog
  #6 (permalink)  
Antiguo 24/02/2009, 01:54
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 16 años, 10 meses
Puntos: 43
Respuesta: Case when y decode

je je je, solo leí el primer post y el del compi matanga.

Buen aporte
  #7 (permalink)  
Antiguo 24/02/2009, 07:58
 
Fecha de Ingreso: enero-2008
Mensajes: 63
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Case when y decode

Muchas gracias por su aporte, me ha servido de mucho.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:41.