Problem:
Sie möchten den Tag aus einem Datumsfeld in einer SQL Server-Datenbank abrufen.
Beispiel:
Unsere Datenbank hat eine Tabelle namens MedicalVisit
mit Daten in den Spalten Id,
FirstName
, LastName
und VisitDate
.
ID | Vorname | Nachname | Besuchsdatum |
---|---|---|---|
1 | Jane | Müller | 2019-11-17 |
2 | Alex | Smith | 2019-11-20 |
3 | Wilhelm | Braun | 2019-11-20 |
4 | Alice | Thomas | 2019-11-05 |
Finden wir für jeden Patienten den Tag des Arztbesuchs. Wir erhalten es vom VisitDate
Feld.
Lösung:
Wir verwenden den DAY()
Funktion. Hier ist die Abfrage, die Sie schreiben würden:
SELECT First_name, Last_name, DAY(VisitDate) AS VisitDay FROM MedicalVisit;
Hier ist das Ergebnis der Abfrage:
Vorname | Nachname | Besuchstag |
---|---|---|
Jane | Müller | 17 |
Alex | Smith | 20 |
Wilhelm | Braun | 20 |
Alice | Thomas | 5 |
Diskussion:
Wenn Sie einen Tag aus einem Datum in einer Tabelle erhalten möchten, verwenden Sie die SQL Server-Funktion DAY(). Diese Funktion akzeptiert nur ein Argument – das Datum. Dies kann ein Datums- oder ein Datums- und Zeitdatentyp sein. (In unserem Beispiel ist die Spalte VisitDate
ist vom Datum Datentyp.) Das Argument kann ein Spaltenname oder ein Ausdruck sein. (In unserem Beispiel ist es das VisitDate
Spalte.)
DAY() gibt die Zahl des Monatstages als Ganzzahl von 1 bis 31 zurück. Für Alice Thomas Besuch, der Tag ist 5; wir erhalten es vom JJJJ-MM-TT-Datum „2019-11-05“.