Probleem:
U wilt de maand uit een datumveld in een SQL Server-database halen.
Voorbeeld:
Onze database heeft een tabel met de naam Furniture
met gegevens in de kolommen Id
, Name
, en ProducedDate
.
Id | Naam | ProducedDate |
---|---|---|
1 | bank | 2018-01-10 |
2 | stoel | 05-01-2018 |
3 | bureau | 2018-06-20 |
4 | boekenkast | 2018-11-15 |
Laten we de maand halen uit de ProducedDate
van elk product en ontdek welke meubels in een bepaalde maand zijn geproduceerd.
Oplossing:
We gebruiken de MONTH()
functie. Dit is de vraag die je zou schrijven:
SELECT Name, MONTH(ProducedDate) AS ProducedMonth FROM Furniture;
Dit is het resultaat van de zoekopdracht:
Naam | ProducedMonth |
---|---|
bank | 1 |
stoel | 1 |
bureau | 6 |
boekenkast | 11 |
Discussie:
Om een maand uit een datumveld in SQL Server te halen, gebruikt u de MONTH()
functie. Deze functie heeft slechts één argument nodig:de datum. Dit kan een datum- of datum- en tijdgegevenstype zijn. (In ons voorbeeld is de kolom ProducedDate
is van de datum gegevenstype.) Het argument kan een kolomnaam of een uitdrukking zijn. (In ons voorbeeld is dit de ProducedDate
kolom).
MONTH()
geeft het maandnummer terug als een geheel getal van 1 tot 12. Voor het bureau item, de ProducedMonth
waarde is 6 (teruggestuurd van de 'YYYY-MM-DD'
datum '2018-06-20'
).