Avatar billede klausjensen Nybegynder
10. december 1999 - 10:27 Der er 6 kommentarer

Alder ud fra fødselsdato i SQL?

Er der nogen der kan lave min ASP-funktion om til SQL? Sådan jeg i en forespørgsel kan få et felt "alder" ud fra en persons fødselsdato?

FUNCTION Alder(argDato)
Alder = DateDiff("yyyy", argDato, Date())
IF DateAdd("yyyy",Alder,argDato) > Now THEN
Alder = Alder - 1
END IF
END FUNCTION
Avatar billede ricardo Nybegynder
10. december 1999 - 11:19 #1
Kommer an på hvordan du har lagret "alder" - som en streng eller som en Date/Time felt?

Og hvad er det for en database du bruger?
Avatar billede klausjensen Nybegynder
10. december 1999 - 11:22 #2
Alder er en beregning ud fra en persons fødselsdato.

Med en persons fødselsdato kan jeg med ovenstående hjemmebryggede asp-kode få returneret en persons alder i år (der også tager højde for om man har haft fødselsdag i år eller ej).

Min database er Access2000 på dette projekt.
Avatar billede klausjensen Nybegynder
10. december 1999 - 11:25 #3
Iøvrigt kan jeg godt lave DateDiff-delen - f.eks. sådan her:

SELECT Fornavn, FoedselsDato, DateDiff('yyyy',[FoedselsDato],Now()) AS Alder
FROM t_person;

...Her er det altså jeg gerne vil have lavet det sådan, at den korrigerer for om man har haft fødselsdag endnu i år (ellers skal der trækkes et år fra alderen) -  på samme måde som i min asp-funktion.

Det er noget med IIF...
Avatar billede ricardo Nybegynder
10. december 1999 - 13:33 #4
Det er ikke noget med IIF.

Jeg går ud fra, at du har en forbindelse til DB'en og personens fornavn, f.eks.

set conn = server.createobject("ADODB.Connection")

Fornavn = Request.form("fornavn")


sql = "SELECT Fornavn, FoedselsDato,  AS Alder FROM t_person WHERE Fornavn = '"& Fornavn & "'"

set rs = conn.execute(sql)

response.write Alder(rs("FoedselsDato"))

rs.close
set rs = nothing
Avatar billede klausjensen Nybegynder
10. december 1999 - 13:39 #5
Prøv at læse mit spørgsmål igen. At fødselsdato optræder som alder i recordsættet kan jeg ikke bruge til det helt vilde...
Avatar billede ricardo Nybegynder
10. december 1999 - 13:56 #6
OK, nu forstår jeg bedre.

Jeg går lige i tænkeboks...

Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester