Sumar dias a una fecha de acuerdo a un calculo.

07/08/2007 - 21:31 por Matias | Informe spam
Hola, espero que se entienda lo que quiero hacer:
El tema es que necesito sumar x cantidad de dias a los campos de una tabla
teniendo en cuenta la fecha actual(GetDate) y un valor que recibo.

Supongamos que me pasan como valor 24 dias
Y tengo en una tabla las fechas:

2004-04-10
2004-04-15


Estos son los dias que me faltan para llegar a getdate, sacados con
DatediFF:

1214 para 2004-04-10
1209 para 2004-04-15

Lo que quiero hacer es restar los dias que me faltan para llegar a getdate
menos el valor que recibo(24) y a esto sumarselo a la fecha inicial, algo
asi:

select DATEADD(day,(DATEDIFF(DAY, fecha, getdate())-24), fecha) from tabla

Obiamente que esto no me funciona, los resultado deberian ser:

2007-07-14 para 2004-04-10
2007-07-19 para 2004-04-15

Gracias, y perdon por lo malo de la explicacion.

PD: los campos son de tipo DateTime y estoy con sql 2k.
 

Leer las respuestas

#1 Ele
08/08/2007 - 02:18 | Informe spam
que es lo que quieres hacer? por que siempre le quitas los dias atrasados
quiza tu resultado esperado es asi Select DATEADD(DAY, -24, getdate())

"Matias" escribió en el mensaje
news:
Hola, espero que se entienda lo que quiero hacer:
El tema es que necesito sumar x cantidad de dias a los campos de una tabla
teniendo en cuenta la fecha actual(GetDate) y un valor que recibo.

Supongamos que me pasan como valor 24 dias
Y tengo en una tabla las fechas:

2004-04-10
2004-04-15


Estos son los dias que me faltan para llegar a getdate, sacados con
DatediFF:

1214 para 2004-04-10
1209 para 2004-04-15

Lo que quiero hacer es restar los dias que me faltan para llegar a getdate
menos el valor que recibo(24) y a esto sumarselo a la fecha inicial, algo
asi:

select DATEADD(day,(DATEDIFF(DAY, fecha, getdate())-24), fecha) from tabla

Obiamente que esto no me funciona, los resultado deberian ser:

2007-07-14 para 2004-04-10
2007-07-19 para 2004-04-15

Gracias, y perdon por lo malo de la explicacion.

PD: los campos son de tipo DateTime y estoy con sql 2k.


Preguntas similares