jueves, 29 de diciembre de 2011

Estas seguro de saber cuantas semanas tiene el año?

Por supuesto, diria yo... tiene 52 semanas... y sino tirate un paso... digo... tirate esta consulta en una consola de SQL Server:

SELECT DATEPART(wk,GetDate())

GetDate te devuelve la fecha actual, DATEPART te devuelve una parte de la fecha que viene dado por el primer parametro, en este caso la semana. Aclaremos que esta consulta se tiro un 28 de diciembre del año del señor de 2011 y el sorprendente resultado fue.... 53!!!!

Ma como... no era que los años tenian 52 semanas? Si claro pero depende de donde empezas a contar. Para mas detalles visitar este
link, de donde sacamos que para obtener el numero de la semana que le interesa a los señores contadores el parametro a utilizar debe ser ISOWK si es que tenemos SQL Server 2008 o superior.

SELECT DATEPART(isowk,GetDate())

Saludos y que tengan un gran año.
Nos vemos en el (SQL Server) 2012 ;)

2 comentarios:

IvanZ dijo...

Si el SQL te arrojó que el año 2011 tiene 53 semanas es por que el SQL hace el conteo tomando como inicio de semana el día domingo, pero
El estándar ISO 8601 identifica al lunes como 1. En casi todos los países del mundo la semana empieza en lunes, mientras que en Portugal, Brasil y en algunos países anglosajones (como EE. UU. y Reino Unido), la semana empieza el domingo. De todas formas se identifica al sábado y al domingo como "fin de semana". De acuerdo a esto encontramos que para los paises en donde la semana empieza el lunes hay algunos años que tienen 52 ó 53 semanas, para esto hay un método matemático que permite saber ésto

IvanZ dijo...

Si tienes alguna duda puedes descargarte un programa que te dice de acuerdo a la fecha, que semana es y cuantas semana tiene el año, el programa toma como inicio de semana el Lunes.
Enlace:
http://www.faggella.com/fuentes/fechyhor.zip