webForumDet fria alternativet
Logga in / Bli medlem

Söka efter ålder?

Databaser & SQL

6 svar · 247 visningar · startad av pRob3

Medlem sedan maj 2003151 inlägg
Trådstart#1

Det är så att jag skulle vilja söka efter ålder bland mina medlemmar, T.ex. 0-9, 10 - 17 osv..

Problemet (för mig) är att jag inte vet hur SQL satsen ska se ut eftersom jag sparar in medlemens ålder i en kolumn som heter foddes som är av typen date (1980-01-01) och jag använder en MySQL databas.
Måste jag spara in åldern 23 i en kolumn för att kunna söka efter personer som är 23?

Finns det någon snäll själ som kan hjälpa mig med detta "lilla" problem.

Medlem sedan nov. 20017 144 inlägg
#2

Between är kanske du söker?

Medlem sedan nov. 20017 144 inlägg
#3
DateDiff("d",RecSet("foddes"),Date)/365.25

För att räkna ut ålder ifrån födelsedatum.

Medlem sedan maj 2003151 inlägg
#4

och hur skulle en sån SQL sats se ut?

Medlem sedan dec. 200012 464 inlägg
#5
select * from t
 where extract(year from current_date) - extract(year from foddes) = 23

är kanske lite grovt

select * from t
 where (to_days(current_date) - to_days(foddes))/365.2405 = 23

blir nog bättre

Flyttas från ASP

Medlem sedan maj 2003151 inlägg
#6

Hur skulle den SQL satsen se ut om man vill visa alla medlemmar som är mellan en viss ålder? Alltså från ett formulär

T.ex. 20 till 25

Medlem sedan jan. 20032 285 inlägg
#7

Jag antar att det blir något sånt här då.

select * from t
 where (to_days(current_date) - to_days(foddes))/365.2405 between 20 and 25
259 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)