"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo calcular el número de martes entre dos fechas en TSQL?

¿Cómo calcular el número de martes entre dos fechas en TSQL?

Publicado el 2024-12-11
Navegar:889

How to Calculate the Number of Tuesdays Between Two Dates in TSQL?

Calcular el número de martes entre dos fechas en TSQL

Determinar el número de martes entre dos fechas es un desafío común en la programación TSQL. t-clausen.dk describe un enfoque eficiente:

Para calcular las instancias de cada día de la semana:

declare @from datetime = '3/1/2013' 
declare @to datetime  = '3/31/2013' 


select 
 datediff(day, -7, @to)/7-datediff(day, -6, @from)/7 AS MON,
 datediff(day, -6, @to)/7-datediff(day, -5, @from)/7 AS TUE,
 datediff(day, -5, @to)/7-datediff(day, -4, @from)/7 AS WED,
 datediff(day, -4, @to)/7-datediff(day, -3, @from)/7 AS THU,
 datediff(day, -3, @to)/7-datediff(day, -2, @from)/7 AS FRI,
 datediff(day, -2, @to)/7-datediff(day, -1, @from)/7 AS SAT,
 datediff(day, -1, @to)/7-datediff(day, 0, @from)/7 AS SUN

Esta consulta devuelve el número de apariciones de cada día de la semana dentro del rango de fechas especificado . Los cálculos se basan en los siguientes principios:

  • La función dateiff calcula la diferencia entre dos fechas en días.
  • La expresión -7 representa el domingo anterior a la fecha de inicio.
  • La expresión -6 representa el lunes anterior a la fecha de inicio.
  • La división entre 7 agrupa los días por semana.
  • La resta del número de días desde la fecha de inicio hasta el lunes anterior a la fecha de inicio calcula el número de semanas entre las fechas de inicio y finalización.
  • La resta del número de días desde la fecha de finalización hasta el día de la semana anterior a la la fecha de finalización calcula el número de días que quedan en la última semana.

Al aplicar este método, puedes determinar fácilmente el número de martes o cualquier otro día de la semana dentro de un rango de fechas determinado.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3