1
resposta

Melhor forma de atualizar a idade.

A SP que o professor criou irá calcular somente a diferença entre o ano de nascimento do cliente com o ano que a SP foi executada, sendo assim, os clientes que ainda não fizeram aniversário até o dia que a SP foi executada, estes ficarão com a idade errada.

Exemplo: Suponhamos que Joãozinho nasceu em 31/12/2000 e a SP foi executada hoje (23/03/2021). O programa irá calcular a diferença dos anos (2021 - 2000), ou seja, a idade de Joãozinho seria atualizada para 21 anos, mas na verdade a idade correta de Joãozinho é 20 anos, 2 meses e 20 dias.

A forma mais correta para atualizar a idade que encontrei foi:

CREATE PROCEDURE CalculaIdade
AS
BEGIN
   UPDATE [TABELA DE CLIENTES] SET IDADE = FLOOR(DATEDIFF(DAY, [DATA DE NASCIMENTO], GETDATE()) / 365.25)
END
1 resposta

Oii Pablo, joia?

Seu raciocínio faz todo sentido. Muito bom a procedure que criou, ficou simples e traz o resultado correto.

Continue praticando sempre e qualquer coisa, procura a gente aqui no fórum, belezinha?

Bons estudos :)