Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Fechas en SQL server

Estas en el tema de Fechas en SQL server en el foro de SQL Server en Foros del Web. Buenas estoy haciendo una consulta que intento hacer lo siguiente : a) Debo saber si estoy en el 1º o 2º semestre del año Esto ...
  #1 (permalink)  
Antiguo 16/11/2009, 02:23
 
Fecha de Ingreso: enero-2004
Ubicación: here I Am
Mensajes: 437
Antigüedad: 20 años, 3 meses
Puntos: 1
Fechas en SQL server

Buenas estoy haciendo una consulta que intento hacer lo siguiente :

a) Debo saber si estoy en el 1º o 2º semestre del año

Esto con un condicional no hay problema

set @mesActual = month(getdate());

IF (@mesActual<=6)
...
else
...

b) Una vez estoy en el 1º semestre del año rellenar 2 variable así
@FechaInicial = '01/01/2009'
@FechaFin = '31/06/2009'

Si estoy en el 2º semestre
@FechaInicial = '07/01/2009'
@FechaFin = '31/12/2009'

Solo se me ocurre haciendo 1 montón de operaciones del tipo
- Buscar del mes que hago el corte "es decir" del mes 6 o del mes 12 el ultimo dia de ese mes y construir la cadena a pelo.

Tengo estas cadenas que he sacado de URL's , la a) me sirve pero la b) no consigo modificar la a mi gusto.

a) dia del mes : SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) <= esta me sirve
b) Ultimo dia PERO del año anterior SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate() ), 0)) <== esta no se que parametro tocar para que me coja el ultimo dia del mes PERO del año actual

Se os ocurre como hacerlo?

salu2 radge
__________________
Nuevo foro sobr el mundo del motor - Renault foro
http://www.renaultforo.com

Última edición por radge; 16/11/2009 a las 02:35
  #2 (permalink)  
Antiguo 17/11/2009, 11:21
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Fechas en SQL server

Cita:
Buenas estoy haciendo una consulta que intento hacer lo siguiente :

a) Debo saber si estoy en el 1º o 2º semestre del año

Esto con un condicional no hay problema

set @mesActual = month(getdate());

IF (@mesActual<=6)
...
else
...

b) Una vez estoy en el 1º semestre del año rellenar 2 variable así
@FechaInicial = '01/01/2009'
@FechaFin = '31/06/2009'

Si estoy en el 2º semestre
@FechaInicial = '07/01/2009'
@FechaFin = '31/12/2009
En resumen, debes de tener 2 variables que te indiquen el inicio y fin del semestre actual verdad?
Hasta ahí voy bien creo, luego entendí poco o casi nada

Cita:
Solo se me ocurre haciendo 1 montón de operaciones del tipo
- Buscar del mes que hago el corte "es decir" del mes 6 o del mes 12 el ultimo dia de ese mes y construir la cadena a pelo.

Tengo estas cadenas que he sacado de URL's , la a) me sirve pero la b) no consigo modificar la a mi gusto.

a) dia del mes : SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) <= esta me sirve
b) Ultimo dia PERO del año anterior SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate() ), 0)) <== esta no se que parametro tocar para que me coja el ultimo dia del mes PERO del año actual
A parte de las variables de inicio y fin de semestre que dato más necesitas?
__________________
Eduardo Peredo
Wigoin
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:59.