SQL-Abfragen mit Datumsfunktionen

Aus ComeniusWiki

Gegeben ist nachfolgendes Schema einer Tabelle:

BENUTZER [ UserID : INT ; Benutzername : VARCHAR(100) ; GebDat : DATE ; RegistriertSeit : DATE ; LetzterLogin : DATE ]

Formuliere jeweils die zugehörige SQL-Abfrage!

Aufgabe 1:
An welchem Datum war der letzte Login des Benutzers mit dem Namen "hans053"? <popup name="Lösung">

SELECT LetzterLogin
FROM BENUTZER
WHERE Benutzername = "hans053"

</popup>

Aufgabe 2:
Gib das Geburtsdatum und den Wochentag des Geburtstages für alle Benutzer aus! <popup name="Lösung">

SELECT GebDat, DAYNAME(GebDat)
FROM BENUTZER

</popup>

Aufgabe 3:
Gib alle Informationen über die Benutzer aus, die im Jahr 2000 geboren sind. <popup name="Lösung">

SELECT *
FROM BENUTZER
WHERE YEAR(GebDat) = 2000

</popup>

Aufgabe 4:
Wie alt ist die Benutzerin "Maria0815" <popup name="Lösung">

SELECT YEAR(CURDATE())-YEAR(GebDat)
FROM BENUTZER
WHERE Benutzername = "Maria0815"

</popup>

Aufgabe 5:
Wie lautet der Benutzername und das Geburtsdatum der Benutzer, die mindestens 20 Jahre alt sind und sich im Jahr 2000 registriert haben? <popup name="Lösung">

SELECT Benutzername, GebDat
FROM BENUTZER
WHERE YEAR(CURDATE())-YEAR(GebDat) >= 20 AND YEAR(RegistriertSeit) = 2000

</popup>

Aufgabe 6:
Welche Benutzer (UserID, Benutzername und GebDat) sind im August geboren? <popup name="Lösung">

SELECT UserID, Benutzername, GebDat
FROM BENUTZER
WHERE MONTH(GebDat)=8

Alternative Lösung:

SELECT UserID, Benutzername, GebDat
FROM BENUTZER
WHERE MONTHNAME(geb)="august"

</popup>