webForumDet fria alternativet

Räkna ut medel?

Databaser & SQL

10 svar · 496 visningar · startad av webbSAJTEN

Medlem sedan jan. 2002992 inlägg
Frågan#1

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?

Medlem sedan juli 2004206 inlägg
#2

Vad har du för datatyp på alder i databasen?

Medlem sedan jan. 2002992 inlägg
#3

Date

Det är Date

Medlem sedan juni 200032 967 inlägg
#4

Och alltid, alltid, alltid ska man ange vilken dbms man använder. Datumfunktionerna skiljer sig i de olika varianterna av SQL som används.

Medlem sedan jan. 2002992 inlägg
#5

Okej, och hur får man reda på de? ;)

Medlem sedan nov. 20017 144 inlägg
#6

dbms (Database Management System) = databas

Medlem sedan juni 200032 967 inlägg
#7

webbSAJTEN skrev:

Okej, och hur får man reda på de? ;)

Du borde väl veta vilken databastyp du använder? :)

Medlem sedan jan. 2002992 inlägg
#8

Haha.. OKejdå :D
MySQL är de :D

Medlem sedan juni 200032 967 inlägg
#9

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.

Medlem sedan dec. 200012 464 inlägg
#10

Flyttas från ASP

Medlem sedan juli 2004206 inlägg
#11

Ä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.

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)