Problem:
Du vill få dagen från ett datumfält i en SQL Server-databas.
Exempel:
Vår databas har en tabell som heter MedicalVisit
med data i kolumnerna Id,
FirstName
, LastName
och VisitDate
.
Id | Förnamn | Efternamn | Besöksdatum |
---|---|---|---|
1 | Jane | Miller | 2019-11-17 |
2 | Alex | Smith | 2019-11-20 |
3 | William | Brun | 2019-11-20 |
4 | Alice | Thomas | 2019-11-05 |
För varje patient, låt oss hitta dagen för läkarbesöket. Vi hämtar det från VisitDate
fältet.
Lösning:
Vi använder DAY()
fungera. Här är frågan du skulle skriva:
SELECT First_name, Last_name, DAY(VisitDate) AS VisitDay FROM MedicalVisit;
Här är resultatet av frågan:
Förnamn | Efternamn | Besöksdag |
---|---|---|
Jane | Miller | 17 |
Alex | Smith | 20 |
William | Brun | 20 |
Alice | Thomas | 5 |
Diskussion:
Om du vill få en dag från ett datum i en tabell, använd SQL Server DAY()-funktionen. Denna funktion tar bara ett argument – datumet. Detta kan vara en datatyp för datum eller datum och tid. (I vårt exempel, kolumnen VisitDate
är av datumet datatyp.) Argumentet kan vara ett kolumnnamn eller ett uttryck. (I vårt exempel är det VisitDate
kolumn.)
DAY() returnerar numret på dagen i månaden som ett heltal från 1 till 31. För Alice Thomas’ besök, dagen är 5; vi får det från ÅÅÅÅ-MM-DD-datumet "2019-11-05".