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