Ver Mensaje Individual
  #5 (permalink)  
Antiguo 03/05/2013, 17:18
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problema con update (hay una funcion en el where)

Recién la veo a la SF que posteaste, @lastunikorn, y la verdad, es absurda...

¿Tienes claro que SYSDATE devuvelve la hora actual del servidor, no?
Eso implica que a menos que esos pl.data_inici_fase_X almacenen una fecha posterior a la del sistema al momento de la ejecución, jamás obtendrás un resultado coherente.
Además, como si fuera poco, hay al menos una condición completamente imposible:
Código SQL:
Ver original
  1. SYSDATE > pl.data_inici_fase_5 AND SYSDATE < pl.data_fi_fase_5
Un valor no puede ser mayor y menor que otro al mismo tiempo. Eso no es lógico.
En esas condiciones, el valor 96505 jamás será devuelto.

Creo que deberías revisar la lógica de esa función, y además sería interesante ver una muestra de registros de la tabla, para verificar que no estés solapando rangos, ya que no estás planteando una selección excluyente, sino una cadena preseleccionada de opciones, que bien podrías resolver con DECODE(), en lugar de usar eso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)