FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Numero de semana de un mes
Hola foreros.
En delphi, en la unit DateUtils hay una funcion que me devuelve de una fecha dada, su respectivo numero de semana en el mes (1,2,3,4 o 5). La funcion es function WeekOfTheMonth(const AValue: TDateTime): Word; Me gustaria saber el equivalente en SQL. O sea, tengo un campo fecha en una tabla, me gustaria que cuando hiciera un SELECT me devolviera en un campo, ese valor, el numero de la semana en ese mes. Serial algo asi SQL.ADD('Select WeekOfTheMonth(FechaContrato) as A Where A=')+NumeroSemana.Text; Gracias. |
#3
|
||||
|
||||
Muchas gracias, manana cuando llegue al curro lo probare. Ahora en casa no tengo SQL.
Ya te digo si me funciona. Editado: Buscando en la ayuda he visto que no me sirve para lo que quiero. Ya que eso devuelve la semana del AÑO, y lo que me interesa que devuelva es la semana del MES. Prueba la funcion que te di anteriormente para que veas lo que quiero. saludos. |
#4
|
||||
|
||||
tienes razón, no te va a servir, no me fije en el detalle que era "semana del mes", no semana del año...
__________________
|
#5
|
||||
|
||||
He encontrado dos formas.
Manana las probare y luego comento cual me sirvio, tiene que coincidir con el mismo valor que me devuelva la funcion en delphi, porque si no me trae problemas. Pimer ejemplo: No existe una funcion directa para hacer el calculo pero puedes usar el siguiente truco: datepart(week, data) calcula el numero de la semana dentro del agno. El truco consiste en hallar la diferencia entre el numero de semana del primer dia del mes de la fecha que quieres calcular y la propia fecha. El primer dia del mes de la fecha actual es: select dateadd(dd,-day(getdate())+1,getdate()) Por tanto el numero de semana (para la fecha actual) se calcularia asi: select datepart(week,getdate()) - datepart(week, dateadd(dd,-day(getdate())+1,getdate()))+1 2do ejemplo: Con CONVERT(week,CAMPO_FECHA) puedes saber la semana del año. Si lo que quieres es saber la posición de la semana dentro del mes, es el resto de dividir este numero por 4. SELECT CONVERT(week,CAMPO_FECHA)%4 te dá el modulo, es decir, el resto que buscas. Si alguien ha probado alguno con buenos resultados me lo diga. Gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Numero del dia de la semana | molinero1 | Varios | 7 | 21-01-2008 13:24:32 |
Calcula El Numero de Semana Actual | Rodo_Rodo | Varios | 4 | 13-05-2007 19:58:24 |
Regresar el numero de semana | zvf | OOP | 2 | 28-11-2006 19:35:29 |
De numero de semana a mes correspondiente | ANG4L | Varios | 2 | 08-06-2006 01:12:11 |
calcular el numero de semana | remialdo | Varios | 7 | 11-09-2005 08:02:05 |
|