Verständnis der SQL DATEPART Funktion
Ethan Miller
Product Engineer · Leapcell

Key Takeaways
- Die SQL-Funktion
DATEPART
extrahiert spezifische Teile aus Datums- oder Zeitwerten als ganze Zahlen. DATEPART
wird häufig zum Filtern, Gruppieren und Analysieren von zeitlichen Daten verwendet.- Verschiedene
datepart
-Argumente bieten Flexibilität bei der Handhabung von Datum und Uhrzeit.
Die DATEPART
-Funktion in SQL Server ist ein leistungsstarkes Werkzeug, mit dem Sie spezifische Komponenten aus einem Datums- oder Zeitwert extrahieren können, wie z. B. das Jahr, den Monat, den Tag, die Stunde, die Minute oder die Sekunde. Diese Funktion ist besonders nützlich für Datenanalyse, Berichterstellung und zeitbasierte Filterung.
Was ist DATEPART?
Die DATEPART
-Funktion gibt eine ganze Zahl zurück, die einen bestimmten Teil eines Datums darstellt. Die allgemeine Syntax lautet:
DATEPART(datepart, date)
datepart
: Der Teil des Datums, der zurückgegeben werden soll (z. B. Jahr, Monat, Tag).date
: Der Datumsausdruck, aus dem der angegebene Teil extrahiert werden soll.
Zum Beispiel:
SELECT DATEPART(year, '2025-05-21') AS YearPart; -- Gibt zurück: 2025
Unterstützte datepart
-Argumente
Hier sind einige häufig verwendete datepart
-Argumente:
datepart | Abkürzungen | Beschreibung | |
---|---|---|---|
year | yy, yyyy | Jahr | |
quarter | qq, q | Quartal des Jahres | |
month | mm, m | Monat | |
dayofyear | dy, y | Tag des Jahres | |
day | dd, d | Tag des Monats | |
week | wk, ww | Wochennummer | |
weekday | dw, w | Tag der Woche | |
hour | hh | Stunde | |
minute | mi, n | Minute | |
second | ss, s | Sekunde | |
millisecond | ms | Millisekunde | |
microsecond | mcs | Mikrosekunde | |
nanosecond | ns | Nanosekunde | |
tzoffset | tz | Zeitzonenoffset in Minuten | |
iso_week | isowk, isoww | ISO 8601 Wochennummer |
Hinweis: Die DATEPART
-Funktion gibt einen ganzzahligen Wert zurück, der dem angegebenen Teil des Datums entspricht.
Praktische Beispiele
Extrahieren spezifischer Datumsteile
SELECT DATEPART(year, '2025-05-21') AS YearPart, DATEPART(month, '2025-05-21') AS MonthPart, DATEPART(day, '2025-05-21') AS DayPart; -- Gibt zurück: 2025, 5, 21
Filtern von Datensätzen nach Jahr
SELECT * FROM Orders WHERE DATEPART(year, OrderDate) = 2025;
Gruppieren von Daten nach Monat
SELECT DATEPART(month, OrderDate) AS OrderMonth, COUNT(*) AS TotalOrders FROM Orders GROUP BY DATEPART(month, OrderDate);
Identifizieren von Wochenenden
SELECT OrderID, OrderDate, CASE WHEN DATEPART(weekday, OrderDate) IN (1, 7) THEN 'Weekend' ELSE 'Weekday' END AS DayType FROM Orders;
Überlegungen
-
Erster Tag der Woche: Der von
DATEPART(weekday, date)
zurückgegebene Wert hängt von der Einstellung vonSET DATEFIRST
ab, die den ersten Tag der Woche angibt. In den USA wird beispielsweise Sonntag typischerweise als erster Tag der Woche angesehen (SET DATEFIRST 7
). -
ISO-Wochennummerierung: Der
iso_week
-Datumsteil folgt dem ISO 8601-Standard, wobei die erste Woche des Jahres diejenige mit dem ersten Donnerstag ist. Dies kann zu unterschiedlichen Wochennummern im Vergleich zum Standard-week
-Datumsteil führen. -
Zeitzonenoffset: Bei Verwendung von
DATEPART(tzoffset, date)
gibt die Funktion den Zeitzonenoffset in Minuten zurück. Dies ist besonders nützlich bei der Arbeit mitdatetimeoffset
-Datentypen.
Fazit
Die DATEPART
-Funktion ist ein wesentliches Werkzeug in SQL Server, um Datums- und Zeitwerte in ihre Bestandteile zu zerlegen. Ob Sie Daten nach bestimmten Zeitrahmen filtern, Datensätze zur Analyse gruppieren oder Daten für die Berichterstellung formatieren, DATEPART
bietet die Flexibilität, die erforderlich ist, um verschiedene zeitliche Datenszenarien effektiv zu verarbeiten.
FAQs
Sie extrahiert bestimmte Komponenten wie Jahr, Monat oder Tag aus einem Datums- oder Zeitwert.
Ja, Sie können DATEPART verwenden, um Daten nach einem beliebigen Datumsteil zu filtern, z. B. nach Jahr oder Monat.
Ja, es unterstützt sowohl die Standard- als auch die ISO-Wochennummerierung mithilfe verschiedener Argumente.
Wir sind Leapcell, Ihre erste Wahl für das Hosting von Backend-Projekten.
Leapcell ist die Serverlose Plattform der nächsten Generation für Webhosting, asynchrone Aufgaben und Redis:
Multi-Sprachen-Unterstützung
- Entwickeln Sie mit Node.js, Python, Go oder Rust.
Stellen Sie unbegrenzt Projekte kostenlos bereit
- zahlen Sie nur für die Nutzung - keine Anfragen, keine Gebühren.
Unschlagbare Kosteneffizienz
- Pay-as-you-go ohne Leerlaufgebühren.
- Beispiel: 25 $ unterstützen 6,94 Millionen Anfragen bei einer durchschnittlichen Antwortzeit von 60 ms.
Optimierte Entwicklererfahrung
- Intuitive Benutzeroberfläche für mühelose Einrichtung.
- Vollständig automatisierte CI/CD-Pipelines und GitOps-Integration.
- Echtzeitmetriken und -protokollierung für umsetzbare Erkenntnisse.
Mühelose Skalierbarkeit und hohe Leistung
- Auto-Skalierung zur einfachen Bewältigung hoher Parallelität.
- Kein operativer Overhead - konzentrieren Sie sich einfach auf das Bauen.
Erfahren Sie mehr in der Dokumentation!
Folgen Sie uns auf X: @LeapcellHQ