Veröffentlicht 13. Januar 200322 j Hallo, ich habe in DB ein Feld Geburtsdatum jetzt brauche ich alle Leute die >= 18 sind wie frage ich es ab ??? Z.B ein Typ ist am 12.07.1970 geboren wie frag man ob er älter als 18 Jahre ist ??
13. Januar 200322 j Hallo 007ski! Du hast nicht geschrieben von welchem Typ das Feld mit dem Geburtsdatum ist. Ich Tippe mal auf ein DATE-Feld. Normalerweise gibt es eine Funktion mit der Du dir das aktuelle Datum ausgeben kannst (SYSDATE bei einigen DBs, wenn ich mich recht erinnere). Die abfrage würde dann umgefähr so aussehen: SELECT * FROM Personen WHERE Personen.Geburtsdatum < (SYSDATE- 18); Is jetzt nur erstmal sone grobe Richtung, mit dem "-18" bin ich mir nicht so ganz sicher:cool: , da würde ich nicht viel drauf geben. MfG Pointerman
13. Januar 200322 j Autor erstemal Danke also ich benutze SQL Server und das Feld Geburtsdatum ist smalldatetime Originally posted by Pointerman SELECT * FROM Personen WHERE Personen.Geburtsdatum < (SYSDATE- 18); so geht leider nicht gib mir Fehler Ungültiger Spaltenname 'sysdate'. habe mir so vorgestellt SELECT * FROM Personen WHERE (getdate () - eburtsdatum)>=18 leider habe keine echte Daten drauf (noch nicht) und weis ich nicht ob es dann richtig funk, habe es mir einfach gedacht dass, jemand schon sich mit diesem Problem beschäftige hat und es dann natürlich weis
13. Januar 200322 j Hallo mal wieder! Hab mal ein bischen geforscht und eine Funktion namens DATEDIFF gefunden. Sollte dann so aussehen: SELECT * FROM Personen WHERE DATEDIFF(year, getdate(), Person.Geburtsdatum) >= 18; Hab ich nur gelesen, nicht ausprobiert. Sieht recht sinnvoll aus und sollte funktionieren. Wenns funzen sollte, poste einfach nochmal.
13. Januar 200322 j Hm, könnte es bei SQL-Server evtl. auch mit today() funktionieren? Select * from Tabelle where year(today())-year(Geburtsdatum) >= 18 Nur so eine Idee...
14. Januar 200322 j Autor Originally posted by Pointerman Wenns funzen sollte, poste einfach nochmal. Danke mache ich
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.