Oi, Eduardo! Tudo bem?
Para realizar essa consulta, você pode usar juntamente à função GETDATE()
as funções YEAR()
(que obtém o ano de uma data) e DATEFROMPARTS()
(a qual permite construir uma data usando partes específicas, como o ano, mês e dia). Dessa forma, você pode filtrar as linhas da tabela pela data de entrada entre 1º de janeiro do ano atual e a data atual.
Um exemplo de código é este:
SELECT *
FROM sua_tabela
WHERE data_entrada >= DATEFROMPARTS(YEAR(GETDATE()), 1, 1)
AND data_entrada <= GETDATE()
Observe que, no SELECT
, criamos um filtro composto com base no campo (com dados em formato de data) da sua tabela:
- Na primeira parte, verificamos se
data_entrada
é maior ou igual ao dia 1º de janeiro do ano atual — isso é possível porque DATEFROMPARTS
cria de forma personalizada uma nova data, levando em consideração o ano vigente (coletado através do GETDATE()
e do YEAR()
) e os outros dois parâmetros, que representam o mês e o dia; - Na segunda parte, verificamos se
data_entrada
é menor ou igual à data em que a consulta foi executada.
Se fôssemos tomar como exemplo o dia de hoje (29/06/2023), a consulta acima retornaria um conjunto de registros que iniciam no dia 01/01/2023 e vão até 29/06/2023!
Edu, espero que isso te ajude! Como é um assunto externo aos cursos da Alura e que não tenho acesso ao cenário completo do seu projeto, outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema!
Um forte abraço.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!