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