none
IF Com Dias da semana RRS feed

  • Pergunta

  • Olá boa tarde, estou com uma duvida... é possível criar um if que identifique os dias da semana?
    de uma forma automática? sem precisar fazer checagem em tabelas?

    exemplo:

    IF (Sabado)
    BEGIN
     Códgo
    END
    ESLe
    IF (Domingo)
    BEGIN
     Código
    END;
    Galera eu sou iniciante então por favor não me julguem XD

    domingo, 23 de agosto de 2020 21:05

Respostas

  • Kary,

    Veja estes exemplos

    -- Exemplo 1 --
    select 
        Data,
        Valor,
        CAST(DATEPART(WEEK, Data) - 
             case when DATEPART(WEEKDAY, Data) < DATEPART(WEEKDAY, DATEADD(YEAR, YEAR(Data) - 1900, '19000101'))
                 then 1
                 else 0
             end as varchar(2)) + '. ' + LEFT(DATENAME(WEEKDAY, Data), 3) as Data_Ano
    from Tabela
    
    -- Exemplo 2 --
    select cast(DATEPART(wk,'2011-04-12') as varchar) +'.'+ cast(DATEPART(dw,'2011-04-12') as varchar)
    
    -- Exemplo 3 -- SQL Server 2012 --
    select Concat(DATEPART(wk,'2011-04-12'),'.',DATEPART(dw,'2011-04-12'))

    :


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    • Marcado como Resposta karygalock segunda-feira, 31 de agosto de 2020 19:52
    segunda-feira, 24 de agosto de 2020 22:47

Todas as Respostas

  • Ola,

    O link abaixo tem exemplos como fazer isso

    https://www.w3schools.com/sql/func_mysql_dayofweek.asp

    Espero que ajude
    segunda-feira, 24 de agosto de 2020 15:31
    Moderador
  • Kary,

    Veja estes exemplos

    -- Exemplo 1 --
    select 
        Data,
        Valor,
        CAST(DATEPART(WEEK, Data) - 
             case when DATEPART(WEEKDAY, Data) < DATEPART(WEEKDAY, DATEADD(YEAR, YEAR(Data) - 1900, '19000101'))
                 then 1
                 else 0
             end as varchar(2)) + '. ' + LEFT(DATENAME(WEEKDAY, Data), 3) as Data_Ano
    from Tabela
    
    -- Exemplo 2 --
    select cast(DATEPART(wk,'2011-04-12') as varchar) +'.'+ cast(DATEPART(dw,'2011-04-12') as varchar)
    
    -- Exemplo 3 -- SQL Server 2012 --
    select Concat(DATEPART(wk,'2011-04-12'),'.',DATEPART(dw,'2011-04-12'))

    :


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    • Marcado como Resposta karygalock segunda-feira, 31 de agosto de 2020 19:52
    segunda-feira, 24 de agosto de 2020 22:47