Query dinamico con parametros de entrada tipo date

Nandrea
29 de Junio del 2005
Estoy elaborando un select dinamico, y en el Where le envio dos parametros tipo date, pero al ejecutar el query, me dice que JUN no definido, por que el parametro lo envio asi

begin
cargar(to_date('28062005','ddmmyyyy'),to_date('28062005','ddmmyyyy'));
end;
el codigo esta escrito asi:
'where fecha between '|| P_FECHA_INICIO ||' and '|| P_FECHA_FINAL ||' and '||
pero cuando ejecuta lo convierte asi:

where de.fecha_denuncia between 28-JUN-05 and 28-JUN-05 and

Que debo hacer para que no moleste por el formato de la fecha?

Gracias

xanton
29 de Junio del 2005
Buenas

Hay dos posivilidades:
1. Poner los to_date dentro de la select.
2. Poner parámetros dentro de la select.

Ejemplo

declare
CV REF_CUR;
select_str varchar2(1000)
Begin
select_str := 'SELECT * FROM LOTE WHERE especialidad_id = :p_articulo_id '||
' AND fecha_caduc > SYSDATE AND ';
OPEN CV FOR select_str using 'AA';
FETCH CV INTO ...
end;

jc3000
29 de Junio del 2005
¿ Y si pruebas esto ?

ALTER SESSION SET_NLS_DATE_FORMAT = 'DD-MM-YYYY HH:24:MI:SS'