Problem:
Du vil gerne hente måneden fra et datofelt i en SQL Server-database.
Eksempel:
Vores database har en tabel med navnet Furniture med data i kolonnerne Id , Name og ProducedDate .
| Id | Navn | Produceret dato |
|---|---|---|
| 1 | sofa | 2018-01-10 |
| 2 | stol | 2018-01-05 |
| 3 | skrivebord | 2018-06-20 |
| 4 | reol | 2018-11-15 |
Lad os få måneden fra hvert produkts ProducedDate og find ud af, hvilke møbler der blev produceret i en given måned.
Løsning:
Vi bruger MONTH() fungere. Her er den forespørgsel, du ville skrive:
SELECT Name, MONTH(ProducedDate) AS ProducedMonth FROM Furniture;
Her er resultatet af forespørgslen:
| Navn | Produceret måned |
|---|---|
| sofa | 1 |
| stol | 1 |
| skrivebord | 6 |
| reol | 11 |
Diskussion:
For at få en måned fra et datofelt i SQL Server skal du bruge MONTH() fungere. Denne funktion tager kun ét argument – datoen. Dette kan være en dato- eller dato- og klokkeslætsdatatype. (I vores eksempel er kolonnen ProducedDate er af datoen datatype.) Argumentet kan være et kolonnenavn eller et udtryk. (I vores eksempel er det ProducedDate kolonne).
MONTH() returnerer månedsnummeret som et heltal fra 1 til 12. For skrivebordet elementet, ProducedMonth værdien er 6 (returneret fra 'YYYY-MM-DD'). dato '2018-06-20' ).