MULTIMEDIA, Video digital, Grabación, Diseño gráfico, Diseño web, Programación > Webmasters - Diseño Web - Programación - Diseño gráfico

ayuda con oracle express (SOLUCIONADO)

(1/3) > >>

vlad:
Hola.
Tengo que hacer un proyecto de fin de curso en Oracle Express, en concreto la cosa va de administrar una biblioteca con esta base de datos. Estoy teniendo muchos problemas con el SQL, debido a que es un estandar que cada cual "respeta" a su forma y Oracle, como empresa privada que es, hace la guerra por su parte.
Lo que no consigo hacer es comparar la fecha en la que se debió ddevolver un libro con la que en realidad se ha hecho para averiguar los dias de retraso. Esto mismo en MySQL yo lo haría con la gorra con las funciones datediff y adddate, pero en Oracle o no se utilizan de la misma forma o es que directamente no se puede. En Oracle existe la funcion dateadd, pero es que ni por esas...
A ver si podéis echarme una mano. Salu2.

Aj:
Hijo mio, no asegures tan rapido cosas que no sabes  :burla: :burla: :burla: :burla:  Si hubieses buscado en google algo tan sencillo como Manejo de fechas Oracle te hubiese salido ya un post explicando esto mismo.

Bien, para hacer una comparación de fechas en Oracle puedes hacer:

SELECT * ... FROM XXXX WHERE FECHA < TO_DATE(fecha, 'DD/MM/YYYY')

Donde fecha es la variable que pasas la fecha con el formato que pongo como mascara

¿Que quieres compara la fecha de hoy?  facil:  TO_DATE(SYSDATE, 'DD/MM/YY')

A ver si con esto te sirve

vlad:
Gracias por contestar, pero lo mismo es que yo no me he sabido explicar bien. Lo que necesito es comparar dos fechas y que me de el número de dias que han transcurrido una de otra. Lo que tu me has puesto yo lo entiendo como una forma de seleccionar una tupla donde la columna fecha coincide con la fecha que tu le pasas, siendo la función to_date la encargada de pasarla al formato necesario. Lo que yo quiero es comparar dos fechas y que devuelva un tipo NUMBER.
Claro que busque en google y descubría la función dateadd, pero cuando la uso en Oracle Express me da error.
Salu2.

Aj:
¿Has probado a restar las 2 fechas?

vlad:

--- Cita de: Aj en 21 de Abril de 2010, 11:53:30 pm ---¿Has probado a restar las 2 fechas?

--- Fin de la cita ---

Efectivamente, así es. Muchísimas gracias. Dejo el código en PL/SQL por si a alguien tambien le sirve:


--- Citar ---declare
fecha_hoy date:=sysdate;
fecha_anterior date:=to_date('01-04-2010','dd-mm-yy');
dias number;
begin
select trunc(to_number(fecha_hoy-fecha_anterior)) into dias from dual;
dbms_output.put_line(to_char(dias));
end;
--- Fin de la cita ---

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa