Tjenare!
Tänkte försöka räkna nut åldern på medlemmarna på mitt community.
De sparas i databasen som ÅÅÅÅ-MM-DD
<%
Set Connect = Server.CreateObject("Adodb.Connection")
Connect.Open strCon
SQL = "SELECT AVG(alder) FROM anv"
Set medel = Connect.Execute(SQL)
intMedel = medel(0)
response.write (intMedel)
%>
Svaret blir: 19824533,994075
Hur ska jag tolka det?
Vad har du för datatyp på alder i databasen?
@ndersMedlem sedan juni 200032 969 inlägg Och alltid, alltid, alltid ska man ange vilken dbms man använder. Datumfunktionerna skiljer sig i de olika varianterna av SQL som används.
Okej, och hur får man reda på de? ;)
Jesper TMedlem sedan nov. 20017 144 inlägg dbms (Database Management System) = databas
@ndersMedlem sedan juni 200032 969 inlägg
webbSAJTEN skrev:
Okej, och hur får man reda på de? ;)
Du borde väl veta vilken databastyp du använder? :)
Haha.. OKejdå :D
MySQL är de :D
@ndersMedlem sedan juni 200032 969 inlägg Om man använder MySQL kan det vara bra att ange vilken version man använder också, eftersom även det spelar roll för vilka datumfunktioner man har att tillgå.
DATEDIFF() returns the number of days between the start date expr and the end date expr2. expr and expr2 are date or date-and-time expressions. Only the date parts of the values are used in the calculation.
mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');
-> 1
mysql> SELECT DATEDIFF('1997-11-30 23:59:59','1997-12-31');
-> -31
DATEDIFF() was added in MySQL 4.1.1.
Har man en äldre version får man nog krångla.
Är det inte bättre att köra avg på åldern istället för födelseåret? Nåja, svaret du får verkar vara i något format typ "antal sekunder sedan 1970" eller hur nu MySql väljer att visa förfluten tid med.