Probleem:
U wilt de dag halen uit een datumveld in een SQL Server-database.
Voorbeeld:
Onze database heeft een tabel met de naam MedicalVisit
met gegevens in de kolommen Id,
FirstName
, LastName
, en VisitDate
.
Id | Voornaam | Achternaam | Bezoekdatum |
---|---|---|---|
1 | Jane | Miller | 2019-11-17 |
2 | Alex | Smith | 2019-11-20 |
3 | Willem | Bruin | 2019-11-20 |
4 | Alice | Thomas | 05-11-2019 |
Laten we voor elke patiënt de dag van het medische bezoek zoeken. We krijgen het van de VisitDate
veld.
Oplossing:
We gebruiken de DAY()
functie. Dit is de vraag die je zou schrijven:
SELECT First_name, Last_name, DAY(VisitDate) AS VisitDay FROM MedicalVisit;
Dit is het resultaat van de zoekopdracht:
Voornaam | Achternaam | Bezoekdag |
---|---|---|
Jane | Miller | 17 |
Alex | Smith | 20 |
Willem | Bruin | 20 |
Alice | Thomas | 5 |
Discussie:
Als u een dag uit een datum in een tabel wilt halen, gebruikt u de SQL Server DAY()-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 VisitDate
is van de datum gegevenstype.) Het argument kan een kolomnaam of een uitdrukking zijn. (In ons voorbeeld is dit de VisitDate
kolom.)
DAY() retourneert het getal van de dag van de maand als een geheel getal van 1 tot 31. Voor Alice Thomas' bezoek, de dag is 5; we krijgen het van de JJJJ-MM-DD datum ‘2019-11-05’.