05. juni 2001 - 10:44Der er
3 kommentarer og 1 løsning
Alder udfra dato
Lige nu gør jeg sådan: SELECT FLOOR((TO_DAYS(CURDATE())-TO_DAYS(BIRTH))/365) AS AGE FROM USERS (BIRTH er en kolonne i tabellen, den indeholder fødselsdato) Kan det gøres mere effektivt? Er der måske en smartere funktion til at sammenligne datoer og få antal år imellem dem?
Træk årstallene fra hinanden (2001 - 1970 = 31) Træk een fra (for dette år) (31 - 1 = 30) Hvis man har haft fødselsdag i år lægges een til (30 + 1 = 31)
Jeps, du har ret. Jeg lavede den dog om til (YEAR(CURDATE())-YEAR(BIRTH)-(DAYOFYEAR(CURDATE())<DAYOFYEAR(BIRTH))) AS AGE
for at der ikke skal trækkes mere fra end nødvendigt
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.