Fixed Price Projects          Flexibele IT oplossingen

Software op maat              Web Applications

De meest accurate vorm die ik gevonden heb
(ik vrees dat er toch nog een aantal bugs zijn, stel dat je data hebt tussen 3 jaar, stuatie 1 : er zit een schrikkeljaar tussen, situatie 2: er ziet geen schrikkeljaar tussen)

/*
Name:       zoek_leeftijd
Author:     Olivier Jooris
Date:        28/3/2018
Desc:        zoek leeftijd aan de hand van geboortedatum en een referentie datum
Parm: @GebDatum: geboortedatum
          @RefDate= leeftijd op deze datum, als null dan vandaag
*/
create function [dbo].[zoek_leeftijd](@GebDatum date , @RefDate date) returns decimal(6,3)
as
begin

if @RefDate is null
set @RefDate = GETDATE()

return CONVERT(DECIMAL(16,4),DATEDIFF(DAY, @GebDatum , @RefDate)) / 365.25

end
Categorie: SQL
Actions: E-mail | Permalink |

waardering