Wederson Rodrigues
-
Total de itens
4 -
Registro em
-
Última visita
Tipo de Conteúdo
Fóruns
Downloads
Calendário
Loja Virtual
Posts postados por Wederson Rodrigues
-
-
Bom artigo!
Vale também a leitura do documento em anexo:
Como Conseguir Eficiência Operacional Contínua.(White paper - Sponsored by: SAP)
Cálculo de Idade (Dica)
em [RM] Scripts SQL e Bancos de Dados
Postado
Se quiseres por ANO, MESES e DIAS:
Basta alterar @niver = pela tabela correspondente.
Precisei dessa informação nos relatórios de Laudo do Raio-X(RM Saúde).
Segue informação valiosa a respeito do cálculo de datas:
http://www.mail-arch...r/msg33626.html
Validei conforme os problemas propostos no link acima.
========================================================================+
-- Wederson Rodrigues dos Reis
**** Email retirado do POST / Autorizado apenas para Equipe interna do Fórum RM ****
** Vide Regras **
DECLARE @NIVER DATETIME
DECLARE @ATUAL DATETIME
DECLARE @DATATEMP1 DATETIME
DECLARE @DATATEMP2 DATETIME
DECLARE @ANOS INT
DECLARE @MESES INT
DECLARE @DIAS INT
SELECT @NIVER = DATANASC FROM SZPACIENTE WHERE CODPACIENTE =:ESPELHO#1
SELECT @ATUAL = GETDATE()
SELECT @ANOS = (YEAR(@ATUAL) - YEAR(@NIVER)) -
CASE
WHEN (MONTH(@ATUAL) < MONTH(@NIVER)) THEN 1
ELSE
CASE
WHEN ((MONTH(@ATUAL) = MONTH(@NIVER)) AND (DAY(@ATUAL) < DAY (@NIVER))) THEN 1
ELSE
CASE
WHEN (DAY(@ATUAL) = DAY(@NIVER)) THEN 0
ELSE 0
END
END
END
SELECT @DATATEMP1 = DATEADD(YY, @ANOS, @NIVER)
SELECT @MESES = DATEDIFF(M, @DATATEMP1, @ATUAL) -
CASE
WHEN MONTH(@DATATEMP1) = MONTH(@ATUAL) AND DAY(@ATUAL) < DAY(@NIVER) THEN 1
ELSE
CASE
WHEN MONTH(@DATATEMP1) < MONTH(@ATUAL) AND DAY(@ATUAL) < DAY(@NIVER) THEN 1
ELSE
CASE
WHEN DAY(@ATUAL) < DAY(@NIVER) THEN 1
ELSE 0
END
END
END
SELECT @DATATEMP2 = DATEADD(M, @MESES, @DATATEMP1)
SELECT @DIAS = DATEDIFF(D, @DATATEMP2, @ATUAL)
SELECT @ANOS AS ANOS, @MESES AS MESES, @DIAS DIA