Calcular Meses

11/02/2004 - 14:58 por PFORTUN | Informe spam
Hola
El problema que tengo es como calcular desde una fecha a otra lo meses
transcurridos tomando en cuenta los dias osea si el dia es mayor a 15 que
cuente desde el siguiente mes caso contrario que empiece contando desde ese
por ejemplo desde el 11 de noviembre del 2001 hasta el 10 de febreo del 2004
en este caso serian 28 que procedimiento puedo utilizar para este problema
que tengo gracias de antemano

Preguntas similare

Leer las respuestas

#1 Maximiliano D. A.
11/02/2004 - 15:28 | Informe spam
Hola, deberias de vr el uso de Datediff con la instruccion CASE (es el if
condicional de SqlServer) este con el Datepart para sacar el numero del dia
y saber si haces una cosa u otra.

Si no podes te ayudo con el codigo pero deberia ser luego

Salu2

Maximiliano Damian Accotto


"PFORTUN" escribió en el mensaje
news:
Hola
El problema que tengo es como calcular desde una fecha a otra lo meses
transcurridos tomando en cuenta los dias osea si el dia es mayor a 15 que
cuente desde el siguiente mes caso contrario que empiece contando desde


ese
por ejemplo desde el 11 de noviembre del 2001 hasta el 10 de febreo del


2004
en este caso serian 28 que procedimiento puedo utilizar para este problema
que tengo gracias de antemano


Respuesta Responder a este mensaje
#2 ulises
11/02/2004 - 15:53 | Informe spam
No sé si te he entendido bien, pero en todo caso el
sigueinte código te obtiene la diferencia en meses entre
dos fechas con los siguientes considerandos :

- si la fecha inicial tiene el día mayor a 15 no se
considera en diferencia de meses.
- si la fecha final es menor a 15 no se considera en la
diferencia de meses.

en todo caso adaptalo a tus condiciones :

declare @fechaini datetime
declare @fechafin datetime

set @fechaini = '20011111'
set @fechafin = '20040210'

select ( case when datepart(day,@fechaini) > 15
then
( case when datepart(day,@fechafin) > 15
then datediff
(month,@fechaini,@fechafin)
else datediff
(month,@fechaini,@fechafin) - 1 end )
else
( case when datepart(day,@fechafin) > 15
then datediff
(month,@fechaini,@fechafin) + 1
else datediff
(month,@fechaini,@fechafin) end ) end)

Saludos,
Ulises


Hola
El problema que tengo es como calcular desde una fecha a


otra lo meses
transcurridos tomando en cuenta los dias osea si el dia


es mayor a 15 que
cuente desde el siguiente mes caso contrario que empiece


contando desde ese
por ejemplo desde el 11 de noviembre del 2001 hasta el 10


de febreo del 2004
en este caso serian 28 que procedimiento puedo utilizar


para este problema
que tengo gracias de antemano


.

Respuesta Responder a este mensaje
#3 PFORTUN
12/02/2004 - 02:27 | Informe spam
Muchas Gracias ulises funciona bien
"ulises" escribió en el mensaje
news:eb8701c3f0ae$cacd6520$
No sé si te he entendido bien, pero en todo caso el
sigueinte código te obtiene la diferencia en meses entre
dos fechas con los siguientes considerandos :

- si la fecha inicial tiene el día mayor a 15 no se
considera en diferencia de meses.
- si la fecha final es menor a 15 no se considera en la
diferencia de meses.

en todo caso adaptalo a tus condiciones :

declare @fechaini datetime
declare @fechafin datetime

set @fechaini = '20011111'
set @fechafin = '20040210'

select ( case when datepart(day,@fechaini) > 15
then
( case when datepart(day,@fechafin) > 15
then datediff
(month,@fechaini,@fechafin)
else datediff
(month,@fechaini,@fechafin) - 1 end )
else
( case when datepart(day,@fechafin) > 15
then datediff
(month,@fechaini,@fechafin) + 1
else datediff
(month,@fechaini,@fechafin) end ) end)

Saludos,
Ulises


Hola
El problema que tengo es como calcular desde una fecha a


otra lo meses
transcurridos tomando en cuenta los dias osea si el dia


es mayor a 15 que
cuente desde el siguiente mes caso contrario que empiece


contando desde ese
por ejemplo desde el 11 de noviembre del 2001 hasta el 10


de febreo del 2004
en este caso serian 28 que procedimiento puedo utilizar


para este problema
que tengo gracias de antemano


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida