Problem:
Sie möchten den Monat aus einem Datumsfeld in einer SQL Server-Datenbank abrufen.
Beispiel:
Unsere Datenbank hat eine Tabelle namens Furniture
mit Daten in den Spalten Id
, Name
und ProducedDate
.
ID | Name | Produktionsdatum |
---|---|---|
1 | Sofa | 2018-01-10 |
2 | Vorsitz | 05.01.2018 |
3 | Schreibtisch | 2018-06-20 |
4 | Bücherregal | 2018-11-15 |
Lassen Sie uns den Monat aus dem ProducedDate
jedes Produkts ermitteln und finden Sie heraus, welche Möbel in einem bestimmten Monat produziert wurden.
Lösung:
Wir verwenden den MONTH()
Funktion. Hier ist die Abfrage, die Sie schreiben würden:
SELECT Name, MONTH(ProducedDate) AS ProducedMonth FROM Furniture;
Hier ist das Ergebnis der Abfrage:
Name | Produktionsmonat |
---|---|
Sofa | 1 |
Vorsitz | 1 |
Schreibtisch | 6 |
Bücherregal | 11 |
Diskussion:
Um einen Monat aus einem Datumsfeld in SQL Server abzurufen, verwenden Sie MONTH()
Funktion. Diese Funktion akzeptiert nur ein Argument – das Datum. Dies kann ein Datums- oder ein Datums- und Zeitdatentyp sein. (In unserem Beispiel ist die Spalte ProducedDate
ist vom Datum Datentyp.) Das Argument kann ein Spaltenname oder ein Ausdruck sein. (In unserem Beispiel ist es das ProducedDate
Säule).
MONTH()
gibt die Monatszahl als Ganzzahl von 1 bis 12 zurück. Für den Schreibtisch item, der ProducedMonth
Wert ist 6 (zurückgegeben von 'YYYY-MM-DD'
Datum '2018-06-20'
).