Problem:
Du vill få månaden från ett datumfält i en SQL Server-databas.
Exempel:
Vår databas har en tabell som heter Furniture
med data i kolumnerna Id
, Name
och ProducedDate
.
Id | Namn | Producerat datum |
---|---|---|
1 | soffa | 2018-01-10 |
2 | stol | 2018-01-05 |
3 | skrivbord | 2018-06-20 |
4 | bokhylla | 2018-11-15 |
Låt oss få månaden från varje produkts ProducedDate
och ta reda på vilka möbler som producerades under en viss månad.
Lösning:
Vi använder MONTH()
fungera. Här är frågan du skulle skriva:
SELECT Name, MONTH(ProducedDate) AS ProducedMonth FROM Furniture;
Här är resultatet av frågan:
Namn | Producerad månad |
---|---|
soffa | 1 |
stol | 1 |
skrivbord | 6 |
bokhylla | 11 |
Diskussion:
För att få en månad från ett datumfält i SQL Server, använd MONTH()
fungera. Denna funktion tar bara ett argument – datumet. Detta kan vara en datatyp för datum eller datum och tid. (I vårt exempel, kolumnen ProducedDate
är av datumet datatyp.) Argumentet kan vara ett kolumnnamn eller ett uttryck. (I vårt exempel är det ProducedDate
kolumn).
MONTH()
returnerar månadsnumret som ett heltal från 1 till 12. För skrivbordet objektet, ProducedMonth
värdet är 6 (återvänd från 'YYYY-MM-DD'
datum '2018-06-20'
).