Oii, Ricardo! Tudo bem?
Desculpa pela demora em responder a você.
Obrigada por trazer esse ponto de que observou, é super válido!
Quando usamos função DATEDIFF
com o argumento YEAR
para calcular a diferença entre anos de duas datas, não consideramos se a data atual já passou do dia de aniversário da pessoa ou não. E isso pode resultar em uma diferença de um ano, dependendo do momento da consulta.
Uma sugestão para você usar, é calcular a diferença em dias entre as datas e dividir pela quantidade de dias do ano (lembre-se que temos anos bissextos). Porém, nem sempre vai sair com precisão, pois em alguns anos temos 365, 365.25 e outros 366 dias.
E em conjunto, use a função CASE
, que tem a finalidade de avaliar condicionalmente os dados e retornar valores baseando-se nessas condições.
Deixo o link da documentação da Microsoft que contém informações explicativos sobre o uso dessa função:
A página pode abrir em Inglês, caso não se sinta confortável com o idioma, clique com o botão direito em qualquer canto da página e escolha a opção "Traduzir para o português".
Espero ter ajudado. Caso tenha dúvidas, não hesite em recorrer ao fórum.
Bons estudos, Ricardo!