Database
 sql >> Datenbank >  >> RDS >> Database

So erhalten Sie den Monat aus einem Datum in T-SQL

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' ).