Free cookie consent management tool by TermsFeed Policy Generator
  • SQL Server video
  •    72 visitas a la página
  •   2222 visualizaciones de vídeo
  • 2024, abril 11, jueves

#080 Cómo contar y obtener días laborables en SQL Server

Como contar a quantidade de dias úteis existentes entre duas datas e obter uma lista dessas datas utilizando o SQL Server

Iremos conhecer as técnicas:

1. Declarar variáveis de tipo de dados data (DECLARE, DATETIME):

  • Para declarar uma variável de data, você pode usar a instrução DECLARE seguida do nome da variável e do tipo de dados, neste caso, DATETIME. Exemplo:
    DECLARE @DataExemplo DATETIME = '2023-01-01';
    

2. Contar dias entre datas (DATEDIFF, DAY):

  • A função DATEDIFF permite calcular a diferença entre duas datas em unidades específicas. Para contar dias, você pode usar DAY como unidade. Exemplo:
    SELECT DATEDIFF(DAY, '2023-01-01', '2023-01-10') AS DiasDeDiferenca;
    

3. Contar semanas entre datas (DATEDIFF, WEEK):

  • Similar ao exemplo anterior, mas usando WEEK como unidade. Exemplo:
    SELECT DATEDIFF(WEEK, '2023-01-01', '2023-01-31') AS SemanasDeDiferenca;
    

4. Contar dias em fim de semana incompleto (CASE, WHEN, DATENAME, SUNDAY, MONDAY):

  • Usando uma expressão CASE com WHEN e a função DATENAME para identificar o dia da semana, você pode contar os dias que são fins de semana incompletos. Exemplo:
    SELECT COUNT(*)
    FROM SuaTabela
    WHERE 
      (CASE 
         WHEN DATENAME(WEEKDAY, Data) = 'Sunday' THEN 1
         WHEN DATENAME(WEEKDAY, Data) = 'Monday' THEN 1
         ELSE 0
       END) = 1;
    

5. Hierarquia de datas em Expressão de Tabela Comum (CTE):

  • Uma expressão de tabela comum (CTE) pode ser usada para criar uma hierarquia de datas. Exemplo:
    WITH HierarquiaDeDatas AS (
      SELECT Data, 
             DATENAME(MONTH, Data) AS Mes,
             DATENAME(YEAR, Data) AS Ano
      FROM SuaTabela
    )
    SELECT * FROM HierarquiaDeDatas;
    

6. Filtrar registros por conjunto de valores (WHERE, NOT IN):

  • Para filtrar registros que não estão em um conjunto específico, você pode usar a cláusula NOT IN em conjunto com WHERE. Exemplo:
    SELECT * FROM SuaTabela
    WHERE CampoData NOT IN ('2023-01-01', '2023-02-01', '2023-03-01');

Este contenido contiene
  • Conteúdo video
  • Idioma Português
  • Duración 8m 14s
  • Subtítulos Sim

  • Tiempo de leer 1 min 26 seg

avatar
Fabio Santos

Científico de datos y consultor de soluciones digitales y analíticas


  • Compartir

Youtube Channel

@fabioms

Suscríbase ahora