FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
MSSQL Server - Consulta
Buenas Gente:
Estoy tratando de generar una sentencia SQL que me devuelva el numero de semana de un mes, de la fecha que se encuentra en un reg.... Lo que he probado es Código:
select (datepart(dd, '06/10/2003') /7) +1, datename(mm, '06/10/2003') Pero esto no funciona ya que depende de que dia empiece el mes.... Osea lo que tendria que ver en este caso es : Nro Mes 2 Octubre Muchas Gracias por su tiempo
__________________
Marín Ignacio Borthiry (Viet) - "El hombre arriesga su vida cada vez que elije y eso es lo que lo hace libre" ;) |
#2
|
||||
|
||||
Truco 78 del trucomania (espero que te sirva):
Hallar el numero de semana del año de una fecha Código:
procedure TForm1.Button1Click(Sender: TObject); var frstDay,toDay : TDateTime; week : Integer; begin frstDay := StrToDate('1/1/96'); toDay := StrToDate(Edit1.Text); week := Trunc((toDay - frstDay) / 7) + 1; Label1.Caption := IntToStr(week); end;
__________________
Saludos, Peter Investment |
#3
|
|||
|
|||
Investment, muchas gracias por tu dato.....pero me olvide de comentar que esto o tengo que resolver en SQL
__________________
Marín Ignacio Borthiry (Viet) - "El hombre arriesga su vida cada vez que elije y eso es lo que lo hace libre" ;) |
#4
|
||||
|
||||
Hola Viet
Ese código no parece nada dificil pasarlo a SQL, o estoy muy equivocado o seria algo como : (cast((campo_fecha - cast('1/1/1996' as datetime)) / 7 as integer) +1) Aunque en el ejemplo, se supone que estamos en 1996, seria mejor cambiar '1/1/1996' por '1/1/' + cast(datepart(yyyy, campo_fecha) as varchar(4)) Habrás podido ver que esto te da el nº de semana en el año, me parece que no es lo que querias. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#5
|
|||
|
|||
Hola Marc:
Justamente, el tema es que necesitaba saber el numero de semana, pero del mes, ya que la del año la puedo sacar con datepart(ww,campo_fecha) . Por lo que creo tampoco podría sacar el num de semana del año y dividirlo por el numero de mes*4, ya que algunos meses tienen mas de 4 semanas. Creo que se tendria que hacer con el numero de dia del mes (datepart(dd, campo_fecha)), dividiendo por 7, pero todo depende que dia, empiece el mes. Aun no termino se sacarlo, pero ando serca.
__________________
Marín Ignacio Borthiry (Viet) - "El hombre arriesga su vida cada vez que elije y eso es lo que lo hace libre" ;) |
|
|
|