Tengo mi Fecha_Nacimiento y mi Fecha_Actual y nececito restarle A la fecha actual la fech de nacimiento para que me devuelva el resultado como que faltan 15 dias etc..
haber si alguien me podria ayudar Gracias..
| |||
Problemas con fechas Tengo mi Fecha_Nacimiento y mi Fecha_Actual y nececito restarle A la fecha actual la fech de nacimiento para que me devuelva el resultado como que faltan 15 dias etc.. haber si alguien me podria ayudar Gracias.. |
| ||||
Respuesta: Problemas con fechas bueno desde mi punto de vista sería algo así donde getdate() me da la fecha actual a la que le resto mi fecha de nacimiento, me devuelme meses y días restantes para mi cumpleaños.
Código:
nos vemos. select month(getdate() - '03/01/1983') as meses, day(getdate() - '03/01/1983') as días
__________________ * Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ Sitio http://www.geoavila.com twitter: @GeoAvila |
| ||||
Respuesta: Problemas con fechas también es otra opción, probá con las dos creo que tenes bastante material, partiendo de cualquiera de las dos. nos vemos.
__________________ * Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ Sitio http://www.geoavila.com twitter: @GeoAvila |
| |||
Respuesta: Problemas con fechas bro ya hice el codigo que me pasaste pero como es en access no jala entonces investige la funcion DateDiff eh hice este query pero en este me trai solo los dias que ah vivido esa persona y lo que yo quiero es que si la persona cumple mañana años que me aparezca que le falta un dia ojala y me puedan ayudar porque ya le intente de muchas formas y no aqui les dejo mi query que devuelve los dias vividos Cita: SELECT Clientes.Id, Clientes.Fecha_Cumple, DateDiff('d',[Fecha_Cumple],Date()) AS Dias FROM Clientes; |
| |||
Respuesta: Problemas con fechas Calitos_16, aunque no trabajo con SQL Server, te diré que creo que eso se hace con la función DAYOFYEAR, pues lo que tú restas es al día del año en el que estamos el día del año en que nació la persona, pero teniendo en cuenta la existencia de bisiestos. Yo he sacado esto de un manual de mysql y creo que te servirá adaptando la sintaxis: SELECT nombrepersona, birthday, IF(DAYOFYEAR(birthday) >= DAYOFYEAR(NOW()), DAYOFYEAR(birthday) - DAYOFYEAR(NOW()), DAYOFYEAR(birthday) - DAYOFYEAR(NOW()) DAYOFYEAR(CONCAT(YEAR(NOW()),'-12-31'))) AS distance FROM nombretabla; no sé si el now() por fecha de hoy lo utilizáis, ni el concat, pero sí creo que utilizáis DAYOFYEAR. Te lo digo solo como orientación. Habría que comprobar la precisión... Última edición por jurena; 25/06/2008 a las 12:19 |
| ||||
Respuesta: Problemas con fechas Cita: pues si en mi caso se ejecutó de manaera correcta setando el formato de fecha dmyset dateformat dmy me dio que faltaban 6 meses, aunque no me detuve a hacer calculos detenidamente, te ha dado otro resultado? creo que fué un dato que se olvidó colocar y pido disculpas por no colocarlo. nos vemos.
__________________ * Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ Sitio http://www.geoavila.com twitter: @GeoAvila |
| ||||
Respuesta: Problemas con fechas Cita: Si claro nunca dije que lo que propuse fuera perfecto. o si?tu respuesta no me agrada, porque podes tratar una respuesta con más respeto o bien haciendo una observación. Y sí, conozco la función DATEDIFF y la he usado,pero por algo se olvidó en ese momento, errar es de humanos y espero lo comprendas y NO espero ofender tu perfección. de hecho desde mi punto de vista quedaría algo así
Código:
nos vemos. set dateformat dmy declare @nacimiento datetime set @nacimiento = '03/01/1983' set @nacimiento = Dateadd(year,year(getdate())-year(@nacimiento),@nacimiento) select case when @nacimiento < getdate() then datediff(day,getdate(),Dateadd(year,1,@nacimiento)) else datediff(day,getdate(),@nacimiento) end as dias_faltantes
__________________ * Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ Sitio http://www.geoavila.com twitter: @GeoAvila Última edición por GeoAvila; 26/06/2008 a las 17:31 |
| ||||
Respuesta: Problemas con fechas Cita: Gracias por el post de aclaración, con el respecto a formato ANSI, me ha pasado muchas veces que el motor de base de datos maneja ó está instalado en un formato que no es el ANSI, entonces, para fines de evitar comflictos con los servers regularmente acostumbro poner el dateformat, de lo contario por ejemplo si coloco mi código y una persona lo corre sin el dateformat no le funcionará, pero es cuestión de costumbre mía y para evitar problemas con los motores de base de datos y la forma en que han sido instalados..
Iniciado por iislas Perdona, no quise ofender, solo que me fue muy extraño ver una RESTA entre 2 fechas, no soy perfecto, sigo aprendiendo y bueno, solo una ultima observacion, TODOS o casi todos los motores de base de datos manejan el formato ANSI (yyyymmdd), para las fechas, simpre deberiamos (me incluyo) mannejar dicho formato, con esto ayudamos al motor a realizar conversiones que no son necesarias. Tienes mis respetos, sin duda. Saludos pero si lo correcto es no hacer conversiones inecesarias, para optimizar el rendimiento. nos vemos..
__________________ * Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ Sitio http://www.geoavila.com twitter: @GeoAvila |
| ||||
Respuesta: Problemas con fechas GeoAvila Sobre todo, en lo que mencionas, no estar "configurando" el manejo de las fechas para "x" o "n" usuario. Y algo sumamente importante, el ETL (Exportacion e Importacion) de datos. Si manejamos el formato ANSI (siempre), evitaremos muchos dolores de cabeza. Saludos. |