Ultimo día de cada mes

08/02/2008 - 19:24 por Pablo | Informe spam
Tengo un pequeño inconveniente con la consulta que genera un reporte de
actividad en cada mes. Debo realizar un conteo de las transacciones
realizadas durante el mes, es decir desde el primer día hasta el último.

El problema radica en que para esto debo establecer un día de corte (no
siempre se va a evaluar hasta el úlitmo día) en cada mes, y considerando que
no todos los meses tienen 30 o 31 días (excepción en febrero), me pregunto si
hay alguna forma de conocer el último día del mes conociendo el mes y el año.

De antemano gracias por la ayuda que puedan brindarme.

Preguntas similare

Leer las respuestas

#1 Pablo
08/02/2008 - 19:55 | Informe spam
Excelente idea, muchas gracias

"Maxi" wrote:

Hola, el ultimo dia de un mes podrias sacarlo asi

(el ejemplo saca el ultimo dia del mes de agosto)

select day(dateadd(d,-1,dateadd(m,1,convert(datetime,'2007' + '08' +
'01'))))


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Pablo" escribió en el mensaje
news:
> Tengo un pequeño inconveniente con la consulta que genera un reporte de
> actividad en cada mes. Debo realizar un conteo de las transacciones
> realizadas durante el mes, es decir desde el primer día hasta el último.
>
> El problema radica en que para esto debo establecer un día de corte (no
> siempre se va a evaluar hasta el úlitmo día) en cada mes, y considerando
> que
> no todos los meses tienen 30 o 31 días (excepción en febrero), me pregunto
> si
> hay alguna forma de conocer el último día del mes conociendo el mes y el
> año.
>
> De antemano gracias por la ayuda que puedan brindarme.



Respuesta Responder a este mensaje
#2 Maxi
08/02/2008 - 20:45 | Informe spam
Hola, el ultimo dia de un mes podrias sacarlo asi

(el ejemplo saca el ultimo dia del mes de agosto)

select day(dateadd(d,-1,dateadd(m,1,convert(datetime,'2007' + '08' +
'01'))))


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Pablo" escribió en el mensaje
news:
Tengo un pequeño inconveniente con la consulta que genera un reporte de
actividad en cada mes. Debo realizar un conteo de las transacciones
realizadas durante el mes, es decir desde el primer día hasta el último.

El problema radica en que para esto debo establecer un día de corte (no
siempre se va a evaluar hasta el úlitmo día) en cada mes, y considerando
que
no todos los meses tienen 30 o 31 días (excepción en febrero), me pregunto
si
hay alguna forma de conocer el último día del mes conociendo el mes y el
año.

De antemano gracias por la ayuda que puedan brindarme.
Respuesta Responder a este mensaje
#3 Alejandro Mesa
09/02/2008 - 00:36 | Informe spam
Pablo,

SQL Server usa el dia 0 como punto de referencia, 19000101, por lo que si
calculas el # de meses desde esa fecha hasta cualquier otra y le sumas uno
(proximo mes), y ademas le sumas esos meses al dia -1 (dia 0 menos 1, osea el
ultimo dia del mes anterior al de referencia) entonces tendras el ultimo dia
del mes en curso.

DECLARE @d DATETIME

SET @d = GETDATE()

SELECT
DATEADD(MONTH, DATEDIFF(MONTH, 0, @d), -1) ultimmo_dia_mes_pasado,
DATEADD(MONTH, DATEDIFF(MONTH, 0, @d) + 1, -1) ultimo_dia_mes_en_curso,
DATEADD(MONTH, DATEDIFF(MONTH, 0, @d) + 2, -1) ultimo_dia_proximo_mes


AMB
"Pablo" wrote:

Tengo un pequeño inconveniente con la consulta que genera un reporte de
actividad en cada mes. Debo realizar un conteo de las transacciones
realizadas durante el mes, es decir desde el primer día hasta el último.

El problema radica en que para esto debo establecer un día de corte (no
siempre se va a evaluar hasta el úlitmo día) en cada mes, y considerando que
no todos los meses tienen 30 o 31 días (excepción en febrero), me pregunto si
hay alguna forma de conocer el último día del mes conociendo el mes y el año.

De antemano gracias por la ayuda que puedan brindarme.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida