Introducción
La Guarida del Lobo Solitario es una comunidad virtual donde compartimos programas, juegos, música, películas, información, recursos y mucho más, en forma totalmente gratuita.

Para acceder a las descargas o publicar mensajes debes registrarte. Es gratis, fácil y rápido.

Más información
Usuarios: 590879
Último registrado: NWRArlene2
Mensajes: 2364022
Temas: 880132
Usuarios conectados
Suscripción por email
Suscríbete aquí y recibe en tu email un resumen diario de nuestras últimas descargas.
Más información.
Páginas: 1
  Imprimir  
Tema: ¿Cómo calcular el primer y último día de un mes dado, en SQL? (Leído 1108 veces)
piranhaweb
Lob@ Gamma
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 771

Piranhaweb


WWW
Tema iniciado: 27-Jun-2012, 11:32

Para el acordeón, una forma de calcular el dia inicial y final de un mes, con el fin de determinar si un mes tiene 28, 30 o 31, es como sigue:

Código:
declare @mes varchar(2)
declare @fecha as varchar(8)
set @mes = '02'
set @fecha = '2009' + @mes + '01'
select @fecha AS FECHA_INICIAL,
CAST (@fecha as smalldatetime) AS FECHA_INICIAL,
dateadd(m,1, CAST (@fecha as smalldatetime)) AS FECHA_SIGUIENTE,
dateadd(d,-1,dateadd(m,1, CAST (@fecha as smalldatetime))) AS FECHA_FINAL

Un escenario que me imagino para usarlo es en el que se requiere calcular o ejecutar un proceso en un mes en particular (fecha entre un rango inicial y final), sin embargo, esto es solo una curiosidad, porque tambien es posible hacer un calculo para un mes en particular poniendo en la condicion algo así como esto

Código:
SELECT * FROM TABLA WHERE MONTH(FECHA)=@MES

Sin embargo, creo que hacerlo de esta manera, de tener un índice la TABLA en cuestión no se usuaría en la consulta, no así si usaramos una condición de tipo

Código:
between @FECHA_INICIAL AND @FECHA_FINAL

Que alguien me corrija, si tengo la idea errónea.
« Última modificación: 30-Jun-2012, 18:56 por LoneWolf » En línea

Piranha.-
Páginas: 1
  Imprimir  
 

Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | LoboSolitario.com © 2002-2020 por LoneWolf | Reglamento | Condiciones generales de uso