Jūs esate

SQL. Žmogaus amžiaus apskaičiavimas SQL

Atrodytų paprasta problemėlė, bet kaip tai realizuoti - reikia pamąstyti. Principas paprastas: turime šios dienos datą, iš jos atimame žmogaus gimimo datą ir gaunam amžių. "Power and Simplicity" - jeigu panaudosime Mambo šūkį. http://www.sqlhacks.com/index.php/Dates/Person-Age <- Naudingas tinklapis. Aš tai realizavau taip: DECLARE @Age int DECLARE @HumanID int SET @HumanID = 10 DECLARE @BirthDate datetime SELECT @BirthDate=BirthDate FROM Human WHERE HumanID=@HumanID SELECT @BirthDate SELECT @Age=datediff(day,@BirthDate,CURRENT_TIMESTAMP) / 365 RETURN @Age

Komentarai

Ir gauni bullshit, nes apie leap years nepamastoma.

Beje, kokio velnio applikacijos logika kisht i SQL'a?

Joa, ir aš pats vėliau susiprotėjau šitą.
Ant C# surašiau ir baigtas kriukis :)

nukando zenkla "maziau"
SET @birthdate = "1984-02-23";
SELECT YEAR(CURDATE()) - YEAR(@birthdate)-(DATE_FORMAT(CURDATE(),"%m-%d")<DATE_FORMAT(@birthdate,"%m-%d")) AS age;

Komentuoti