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

Título: ayuda con oracle express (SOLUCIONADO)
Publicado 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.
Título: Re: ayuda con oracle express
Publicado por: Aj en 21 de Abril de 2010, 08:27:43 am
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
Título: Re: ayuda con oracle express
Publicado por: vlad en 21 de Abril de 2010, 09:36:16 pm
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.
Título: Re: ayuda con oracle express
Publicado por: Aj en 21 de Abril de 2010, 11:53:30 pm
¿Has probado a restar las 2 fechas?
Título: Re: ayuda con oracle express
Publicado por: vlad en 22 de Abril de 2010, 12:18:24 am
¿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:

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;
Título: Re: ayuda con oracle express (SOLUCIONADO)
Publicado por: Dabo en 23 de Abril de 2010, 09:54:19 pm
Vlad hermano, te veo a tope -;), gracias por postear el código, seguro que le sirve a otro también, abrazos ! ;-)
Título: Re: ayuda con oracle express (SOLUCIONADO)
Publicado por: Aj en 24 de Abril de 2010, 12:05:13 am
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
Título: Re: ayuda con oracle express (SOLUCIONADO)
Publicado por: Dabo en 24 de Abril de 2010, 12:41:28 am
Como castigo AJ ahora tienes que hacer un especial Oracle Express sólo para vlad  :burla: :destroyer:

Gracias a los dos, sois cojonnudos  ;-)
Título: Re: ayuda con oracle express (SOLUCIONADO)
Publicado por: Aj en 24 de Abril de 2010, 12:43:30 am
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
Título: Re: ayuda con oracle express (SOLUCIONADO)
Publicado por: Liamngls en 24 de Abril de 2010, 03:16:50 am
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
Título: Re: ayuda con oracle express (SOLUCIONADO)
Publicado por: Dabo en 24 de Abril de 2010, 10:05:28 am
Además de verdad, FAIL !!!  :dabo: :haha:
Título: Re: ayuda con oracle express (SOLUCIONADO)
Publicado por: vlad en 24 de Abril de 2010, 12:25:59 pm
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
Título: Re: ayuda con oracle express (SOLUCIONADO)
Publicado por: vlad en 24 de Abril de 2010, 12:28:54 pm
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.
Título: Re: ayuda con oracle express (SOLUCIONADO)
Publicado por: Liamngls en 24 de Abril de 2010, 02:08:21 pm
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: