Dias da semana
07/03/2019
0
Chromusmaster
Post mais votado
07/03/2019
Quando datepart é week (wk, ww) ou weekday (dw), o valor retornado DATEPART depende do valor definido usando SET DATEFIRST.
1º de janeiro de qualquer ano define o número inicial para o weekdatepart. Por exemplo:
DATEPART (wk, 'Jan 1, xxxx') = 1
em que xxxx é qualquer ano.
Esta tabela mostra o valor retornado para week e weekday datepart para '2007-04-21' para cada argumento SET DATEFIRST.
1º de janeiro de 2007 cai em uma segunda-feira. 21 de abril de 2007 cai em um sábado.
Para o Inglês (Estados Unidos), SET DATEFIRST 7 -- ( Sunday ) funciona como o padrão. Depois de definir DATEFIRST, use essa instrução SQL sugerida para os valores da tabela datepart:
SELECT DATEPART(week, '2007-04-21 '), DATEPART(weekday, '2007-04-21 ')
Espero ter ajudado!
Ana Lichirgu
Mais Posts
07/03/2019
Chromusmaster
Quando datepart é week (wk, ww) ou weekday (dw), o valor retornado DATEPART depende do valor definido usando SET DATEFIRST.
1º de janeiro de qualquer ano define o número inicial para o weekdatepart. Por exemplo:
DATEPART (wk, 'Jan 1, xxxx') = 1
em que xxxx é qualquer ano.
Esta tabela mostra o valor retornado para week e weekday datepart para '2007-04-21' para cada argumento SET DATEFIRST.
1º de janeiro de 2007 cai em uma segunda-feira. 21 de abril de 2007 cai em um sábado.
Para o Inglês (Estados Unidos), SET DATEFIRST 7 -- ( Sunday ) funciona como o padrão. Depois de definir DATEFIRST, use essa instrução SQL sugerida para os valores da tabela datepart:
SELECT DATEPART(week, '2007-04-21 '), DATEPART(weekday, '2007-04-21 ')
Espero ter ajudado!
Ajudou bastante. Vou seguir as orientações, obrigado!
08/03/2019
Emerson Nascimento
SELECT DATEPART(DAY, DATEADD(DAY, (CASE WHEN DATEPART(weekday, GETDATE()) > 1 THEN 1 - DATEPART(weekday, GETDATE()) ELSE 0 END), GETDATE())) DIAINI, DATEPART(DAY, GETDATE()) DIAFIM
troque GETDATE() pela data desejada. por exemplo:
SELECT DATEPART(DAY, DATEADD(DAY, (CASE WHEN DATEPART(weekday, '2007-04-21') > 1 THEN 1 - DATEPART(weekday, '2007-04-21') ELSE 0 END), '2007-04-21')) DIAINI, DATEPART(DAY, '2007-04-21') DIAFIM
daí, com o dia inicial e o dia final em mãos, você poderá fazer a tratativa que precisar.
08/03/2019
Chromusmaster
SELECT DATEPART(DAY, DATEADD(DAY, (CASE WHEN DATEPART(weekday, GETDATE()) > 1 THEN 1 - DATEPART(weekday, GETDATE()) ELSE 0 END), GETDATE())) DIAINI, DATEPART(DAY, GETDATE()) DIAFIM
troque GETDATE() pela data desejada. por exemplo:
SELECT DATEPART(DAY, DATEADD(DAY, (CASE WHEN DATEPART(weekday, '2007-04-21') > 1 THEN 1 - DATEPART(weekday, '2007-04-21') ELSE 0 END), '2007-04-21')) DIAINI, DATEPART(DAY, '2007-04-21') DIAFIM
daí, com o dia inicial e o dia final em mãos, você poderá fazer a tratativa que precisar.
Show! Fiz uma daptação para o meu contexto da seguinte maneira:
WHERE SRE.DATAAUTORIZACAO BETWEEN (CONVERT(DATE,DATEADD(DAY, (CASE WHEN DATEPART(weekday, GETDATE()) > 1 THEN 1 - DATEPART(weekday, GETDATE()) ELSE 0 END), GETDATE()))) AND (CONVERT(DATE,GETDATE()) )
Clique aqui para fazer login e interagir na Comunidade :)