Foros de daboweb
MULTIMEDIA, Video digital, Grabación, Diseño gráfico, Diseño web, Programación => Webmasters - Diseño Web - Programación - Diseño gráfico => Mensaje iniciado por: vlad en 19 de Abril de 2010, 11:44:06 pm
-
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.
-
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
-
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.
-
¿Has probado a restar las 2 fechas?
-
¿Has probado a restar las 2 fechas?
Efectivamente, así es. Muchísimas gracias. Dejo el código en PL/SQL por si a alguien tambien le sirve:
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;
-
Vlad hermano, te veo a tope -;), gracias por postear el código, seguro que le sirve a otro también, abrazos ! ;-)
-
Me alegro pues!!! :-D :-D :-D
Y por supuesto, espero que no te hayas tomado a mal algún comentario mio (ahora releyendome, puede parecer algo borde dependiendo de como se lea :-D :-D :-D) desde luego, hay que tomarlo desde el lado jocoso.. :-D :-D
-
Como castigo AJ ahora tienes que hacer un especial Oracle Express sólo para vlad :burla: :destroyer:
Gracias a los dos, sois cojonnudos ;-)
-
Como castigo AJ ahora tienes que hacer un especial Oracle Express sólo para vlad :burla: :destroyer:
Gracias a los dos, sois cojonnudos ;-)
No por dios... que bastante tengo en el trabajo :-d :-d
-
Como castigo AJ ahora tienes que hacer un especial Oracle Express sólo para vlad :burla: :destroyer:
Gracias a los dos, sois cojonnudos ;-)
No por dios... que bastante tengo en el trabajo :-d :-d
No cuela, pero si dices: "uy, tengo que ir a preparar el bibe de las 12" ... entonces es probable que sí :-6
-
Además de verdad, FAIL !!! :dabo: :haha:
-
Y por supuesto, espero que no te hayas tomado a mal algún comentario mio (ahora releyendome, puede parecer algo borde dependiendo de como se lea :-D :-D :-D) desde luego, hay que tomarlo desde el lado jocoso.. :-D :-D
No, no, por favor, claro que no me he tomado tus comentarios mal, de ninguna forma.... Venga, gracias y un saludo. :-d
-
Vlad hermano, te veo a tope -;), gracias por postear el código, seguro que le sirve a otro también, abrazos ! ;-)
Me ves preparando exámenes... :panic: :panic: :panic:
Oye, una pregunta de novato en estos foros, ¿lo de (SOLUCIONADO) lo pone el administrador o lo puedo poner yo editando algo? Es por ahorraros trabajo. Voy perdiendo practica en esto de administrar foros, jejejejeje... :-D :-D
Saludetes.
-
Lo puede hacer el usuario que abre el tema editando el primer mensaje y modificando el título, aunque generalmente lo hacemos algún mod no hay problema en que lo haga uno mismo, menos trabajo :mrgreen: