Saltar al contenido

Obtener el número de semana en el año a partir de la fecha

Posteriormente a consultar expertos en este tema, programadores de diversas ramas y maestros hemos dado con la solución al problema y la plasmamos en este post.

Probablemente necesite especificar el primer día de su semana con set datefirst:

set datefirst 1;
select datepart(week, '2017-02-01');

devoluciones 6


Dependiendo del idioma predeterminado, su datefirst podría estar configurado para 7.

set datefirst 7;
select datepart(week, '2017-02-01');

devoluciones 5

demostración de rextester: http://rextester.com/KEPB52852

También puede considerar usar el parámetro ‘iso_week’ en lugar del parámetro ‘week’ en ‘datepart’. En este caso, puede evitar usar ‘set datefirst 1’, lo que puede ser conveniente si solo puede usar una selección única.

Más detalles aquí sobre ‘iso_week’: “ISO 8601 incluye el sistema ISO semana-fecha, un sistema de numeración para semanas. Cada semana está asociada con el año en que ocurre el jueves”

Puedes comparar los dos así:

SELECT datepart(ISO_WEEK, '2020.01.01') -- Wed
SELECT datepart(WEEK, '2020.01.01') -- Wed
SELECT datepart(ISO_WEEK, '2020.01.05') -- Sun
SELECT datepart(WEEK, '2020.01.05') -- Sun
SELECT datepart(ISO_WEEK, '2020.01.06') -- Mon
SELECT datepart(WEEK, '2020.01.06') -- Mon

Tenga en cuenta la diferencia para el domingo 5 de enero de 2020:

-----------
1
1
1
2
2
2

Si haces scroll puedes encontrar las notas de otros desarrolladores, tú también tienes la opción de dejar el tuyo si lo crees conveniente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *