Foros del Web » Programando para Internet » ASP Clásico »

Calcular periodo que abarca un numero de semana

Estas en el tema de Calcular periodo que abarca un numero de semana en el foro de ASP Clásico en Foros del Web. Hola, mi problema es el siguiente: Necesito una funcion que dado un numero de semana por el usuario me realice una busqueda en la BD ...
  #1 (permalink)  
Antiguo 16/07/2008, 01:23
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 11 meses
Puntos: 0
Calcular periodo que abarca un numero de semana

Hola, mi problema es el siguiente:

Necesito una funcion que dado un numero de semana por el usuario me realice una busqueda en la BD para sacarme los datos de esas semana concreta. como las fechas estan en formato dd/mm/aaaa necesito que al introducirme por ejemplo la semana 29 de este año me busque del 14/07/2008 al 20/07/2008.

he visto funciones vbscript que dada una fecha calcula el numero de semana pero al reves no se si existe.

muchas gracias
  #2 (permalink)  
Antiguo 16/07/2008, 11:03
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Respuesta: Calcular periodo que abarca un numero de semana

Bienvenido al foro alonf2so

hoy no ando muy diestro en esto de el foro pero tratare de ayudarte

la función datepart te ayuda a saber en que semana estamos, basados en la fecha que ingresas

+ http://www.earthskater.net/devzone/asp/asp_datepart.asp
+ http://www.w3schools.com/VBscript/func_datepart.asp

asi que tomando en cuenta que mandas los valores de la semana

se me ocurre algo asi:

Cita:
select * from TUTABLA where DatePart(ww,Columna_fecha) >= 15 and DatePart(ww,Columna_fecha) <= 18
hoy no ando muy diestro en la ayuda pero espero te rirva
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 16/07/2008, 13:33
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Respuesta: Calcular periodo que abarca un numero de semana

Cita:
Iniciado por JuanRAPerez Ver Mensaje
hoy no ando muy diestro en esto de el foro pero tratare de ayudarte
hoy no ando muy diestro en la ayuda pero espero te sirva
Dijo aquel que ha respondido a una sola duda y para eso la fastidio jajajaja
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 16/07/2008, 14:05
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Respuesta: Calcular periodo que abarca un numero de semana

Adler jajaj no entendi
__________________
JuanRa Pérez
San Salvador, El Salvador
  #5 (permalink)  
Antiguo 16/07/2008, 14:07
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Respuesta: Calcular periodo que abarca un numero de semana

Cita:
Iniciado por Adler Ver Mensaje
Dijo aquel que ha respondido a una sola duda y para eso la fastidio jajajaja
jajaja preciso

Juan, ya captaras muy buena solucion por cierto
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #6 (permalink)  
Antiguo 17/07/2008, 01:00
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Calcular periodo que abarca un numero de semana

Muchas gracias por la respuesta.

lo que no entiendo es porque pones que los valores estén entre 15 y 18, supongo que hay tendre que poner "= num_semana_introducido_por_usuario"

a ver si luego lo pruebo y te cuento que tal me ha funcionado

PD: yo tambien debo andar algo empanao que no pillo la respuesta de Adler
  #7 (permalink)  
Antiguo 17/07/2008, 04:22
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Respuesta: Calcular periodo que abarca un numero de semana

JuanRa, querido amigo, estaba siendo sarcástico . Ayer decías que no andabas muy diestro y habías respondido a 5 o 6 temas sin inmutarte . Así, yo también quiero no estar diestro
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 17/07/2008, 05:06
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Calcular periodo que abarca un numero de semana

no me di cuenta de indicaros que la BD es Oracle pero me ha servido para buscar esa funcion en Oracle y parece que si que funciona.

muchas gracias por ponerme en el camino
  #9 (permalink)  
Antiguo 17/07/2008, 07:51
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Respuesta: Calcular periodo que abarca un numero de semana

bueno alonf2so

me alegra que buscaras la forma de resolverlo
__________________
JuanRa Pérez
San Salvador, El Salvador
  #10 (permalink)  
Antiguo 17/10/2008, 13:22
 
Fecha de Ingreso: octubre-2008
Mensajes: 1
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Calcular periodo que abarca un numero de semana

Hola yo tenia el mismo problema y la verdad es que no encontre ayuda en ningun, foro asi que cree esta funcion espero que les sirva a las proximas personas con el mismo problema.
para SQL Server


CREATE FUNCTION fn_ObtenerPeriodoSemana(@Anio AS INT, @SemanaNum AS INT)
RETURNS VARCHAR(100)
AS
/***************************** ENCABEZADO ************************************
************************************************** ****************************
** NOMBRE: fn_ObtenerPeriodoSemana **
** DESCRIPCION: Retorna el periodo en fecha al que corresponde el numero de **
** semana segun el anio **
** CREADOR:Eddy_Neo **
********************* REGISTRO DE MODIFICACIONES *****************************
************************************************** ****************************
Fecha Descripcion
-----------------------------------------------------------------------------
2008.Oct.17 Creación de la función
************************************************** ***************************/
BEGIN
DECLARE @PeriodoDescripcion AS VARCHAR(100)
DECLARE @SemenaFecha AS DATETIME

SET @SemenaFecha = CONVERT(DATETIME, CAST(@Anio AS VARCHAR(4))+'-01-01')

IF(DATENAME(dw, @SemenaFecha) = 'Sunday')
BEGIN
SELECT @PeriodoDescripcion = CONVERT(VARCHAR(100), (DATEADD(d, -7, DATEADD(ww, @SemanaNum, @SemenaFecha))), 103) + ' al ' + CONVERT(VARCHAR(100), (DATEADD(d, -1, DATEADD(ww, @SemanaNum, @SemenaFecha))), 103)
END
IF(DATENAME(dw, @SemenaFecha) = 'Monday')
BEGIN
SELECT @PeriodoDescripcion = CONVERT(VARCHAR(100), (DATEADD(d, -8, DATEADD(ww, @SemanaNum, @SemenaFecha))), 103) + ' al ' + CONVERT(VARCHAR(100), (DATEADD(d, -2, DATEADD(ww, @SemanaNum, @SemenaFecha))), 103)
END
IF(DATENAME(dw, @SemenaFecha) = 'Tuesday')
BEGIN
SELECT @PeriodoDescripcion = CONVERT(VARCHAR(100), (DATEADD(d, -9, DATEADD(ww, @SemanaNum, @SemenaFecha))), 103) + ' al ' + CONVERT(VARCHAR(100), (DATEADD(d, -3, DATEADD(ww, @SemanaNum, @SemenaFecha))), 103)
END
IF(DATENAME(dw, @SemenaFecha) = 'Wednesday')
BEGIN
SELECT @PeriodoDescripcion = CONVERT(VARCHAR(100), (DATEADD(d, -10, DATEADD(ww, @SemanaNum, @SemenaFecha))), 103) + ' al ' + CONVERT(VARCHAR(100), (DATEADD(d, -4, DATEADD(ww, @SemanaNum, @SemenaFecha))), 103)
END
IF(DATENAME(dw, @SemenaFecha) = 'Thursday')
BEGIN
SELECT @PeriodoDescripcion = CONVERT(VARCHAR(100), (DATEADD(d, -11, DATEADD(ww, @SemanaNum, @SemenaFecha))), 103) + ' al ' + CONVERT(VARCHAR(100), (DATEADD(d, -5, DATEADD(ww, @SemanaNum, @SemenaFecha))), 103)
END
IF(DATENAME(dw, @SemenaFecha) = 'Friday')
BEGIN
SELECT @PeriodoDescripcion = CONVERT(VARCHAR(100), (DATEADD(d, -12, DATEADD(ww, @SemanaNum, @SemenaFecha))), 103) + ' al ' + CONVERT(VARCHAR(100), (DATEADD(d, -6, DATEADD(ww, @SemanaNum, @SemenaFecha))), 103)
END
IF(DATENAME(dw, @SemenaFecha) = 'Saturday')
BEGIN
SELECT @PeriodoDescripcion = CONVERT(VARCHAR(100), (DATEADD(d, -13, DATEADD(ww, @SemanaNum, @SemenaFecha))), 103) + ' al ' + CONVERT(VARCHAR(100), (DATEADD(d, -7, DATEADD(ww, @SemanaNum, @SemenaFecha))), 103)
END

RETURN @PeriodoDescripcion
END
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 18:50.