webForumDet fria alternativet

SQL-sats: sortera födelsedagar

ASP

1 svar · 204 visningar · startad av lage

Medlem sedan okt. 20017 inlägg
Frågan#1

Kan man sortera datum i SQL-satser?
Jag har försökt genom att skriva "WHERE födelsedag > now()" (födelsedag = date/time), men jag får bara type mismatch error.

Är det det någon som försökt sig på att sortera den senaste månadens födelsedagsdatum i SQL, alltså de datum som kommer då en person fyller år? Hur gör man vid årsbyten?
Här är mitt obearbetade, frustrerade förslag. Det tar fram två datum, det nuvarande årets firardag och kommande årets dito, men jag vet inte hur jag skall sortera dem.

nuvarande år: "SELECT *, DateAdd('yyyy',Year(Now())-Year([födelsedag]), [födelsedag] ) AS detta_år FROM kontakt WHERE födelsedag Is Not Null ORDER BY Month([födelsedag]) , day([födelsedag])"

kommande år: "SELECT *, DateAdd('yyyy',Year(Now())-Year([födelsedag]), [födelsedag] ) AS nästa_år FROM kontakt WHERE födelsedag Is Not Null ORDER BY Month([födelsedag]) , day([födelsedag])"

Säg att det är den 20 december. Då vill jag att den skall visa födelsedagar från den 21 november till den 19 januari, nästa år, men min sorteringsordning slutar vid årets slut. Jag vill ha EN SQL-sats för både nuvarande och kommande år.

Medlem sedan mars 20002 836 inlägg
#2

Testa:

strSQL = "SELECT * FROM TBL_TABLE WHERE FLD_DAT_FIELD >= #" & Date() & "# AND FLD_DAT_FIELD < #" & DateAdd("yyyy",1,Date()) & "#"

cya,
PatrikB

------------------
*ordning och reda!, pengar på fredag.*

253 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)