DataSunrise erreicht AWS DevOps Kompetenz Status in AWS DevSecOps und Überwachung, Protokollierung, Performance

SQL Server Datumsformate: Ein umfassender Leitfaden

SQL Server Datumsformate: Ein umfassender Leitfaden

SQL Server Beispiele zur Datumsformatierung
SQL Server Beispiele zur Datumsformatierung, inklusive Konvertierungsstilen und Zeitzonenhandling.

Einleitung

Die Arbeit mit Datums- und Zeitwerten ist ein routinemäßiger Bestandteil der Datenbankentwicklung. Egal, ob Sie Zeilen filtern, Berichte erstellen oder Zeitstempel darstellen – eine konsistente Formatierung trägt zur Klarheit bei. Dieser Artikel erklärt, wie Sie Datumswerte in SQL Server mit integrierten Tools und Funktionen formatieren und manipulieren.

Das Verständnis der SQL Server-Datetime-Funktionen verbessert die Genauigkeit von Berichten, gewährleistet eine korrekte regionale Formatierung und vereinfacht die Logik nachgelagerter Anwendungen. In den folgenden Abschnitten werden wir die wichtigsten Datentypen, Formatierungsoptionen und Best Practices für Datumsangaben in SQL Server beleuchten.

Übersicht zur Datenkonformität | Regulatorische Rahmenbedingungen

Umgang mit Zeitzonen und Schnellübersicht der Style-Codes

Sofortige Umrechnung mit AT TIME ZONE

Ab SQL Server 2016 vereinfacht AT TIME ZONE die Umrechnung von UTC-Zeitstempeln in lokale Zeiten (und umgekehrt), ohne feste Offsets zu codieren oder sich mit Sommerzeitumstellungen herumzuschlagen.

-- Einmal in UTC speichern, lokal ausgeben
DECLARE @utc DATETIME2 = SYSUTCDATETIME();

SELECT 
  @utc                         AS StoredUTC,
  @utc AT TIME ZONE 'UTC'
       AT TIME ZONE 'Central European Standard Time' AS BerlinTime,
  @utc AT TIME ZONE 'UTC'
       AT TIME ZONE 'Pacific Standard Time'          AS SeattleTime;

Am häufigsten verwendete CONVERT-Style-Codes

StilBeispielausgabeTypische Verwendung
10107/15/2025USA MM/TT/JJJJ
10315/07/2025EU TT/MM/JJJJ
10415.07.2025DE TT.MM.JJJJ
1202025-07-15 13:25:42ISO 24-Stunden
1212025-07-15 13:25:42.347ISO ms-Präzision

Halten Sie sich an ISO-Stile (120/121) für APIs, verwenden Sie länderspezifische Formate nur in Präsentationsschichten und speichern Sie Daten stets in UTC, wenn Zeilen über Regionen hinweg transferiert werden.

Was ist SQL Server?

Microsoft SQL Server ist eine relationale Datenbankplattform, die in Unternehmensumgebungen weit verbreitet ist. Sie unterstützt transaktionale und analytische Arbeitslasten und bietet starke Funktionen zur Verwaltung strukturierter Daten – einschließlich integrierter Tools zur Speicherung, Formatierung und Berechnung von Datums- und Zeitwerten.

SQL Server Datums- und Zeitdatentypen

SQL Server bietet mehrere integrierte Typen zur Speicherung und Verarbeitung von Datums- und Zeitwerten. Einige sind legacy-kompatibel, während andere moderne Präzision und Zeitzonenunterstützung bieten. Die Wahl des richtigen Typs hängt von der benötigten Genauigkeit und Speicher-Effizienz ab.

TypKategorieAnwendungsfälle
datetimeAltAllgemeine Speicherung mit Millisekundenpräzision
smalldatetimeAltKompakte Speicherung, genau bis auf die Minute
dateModernSpeichert nur das Kalendardatum (ohne Zeitanteil)
timeModernSpeichert nur die Zeit, ideal für Terminplanung
datetime2ModernHochpräzises Datum und Zeit mit erweitertem Bereich
datetimeoffsetModernBeinhaltet Zeitzonenbewusstsein

Standardausgabeformat

Standardmäßig liefert eine Abfrage wie SELECT GETDATE(); ein Ergebnis im Format 'YYYY-MM-DD HH:MI:SS.mmm'. Zum Beispiel:

2024-07-15 13:25:42.347

Um das Format anzupassen, verwenden Sie die Funktionen CONVERT() oder FORMAT() mit Stil-Codes.

Formatierung von Datumsangaben in SQL Server

Die Umwandlung von Datumswerten in lesbare Zeichenketten ist für Berichte oder UI-Ausgaben unerlässlich. Die Funktion CONVERT() akzeptiert Stil-Codes für verschiedene länderspezifische Formate.

DECLARE @date DATETIME = GETDATE();
SELECT 
  CONVERT(VARCHAR, @date, 101) AS US_Format,       -- MM/TT/JJJJ
  CONVERT(VARCHAR, @date, 103) AS UK_Format,       -- TT/MM/JJJJ
  CONVERT(VARCHAR, @date, 120) AS ISO_Format;      -- JJJJ-MM-TT HH:MI:SS

Arbeiten mit Zeichenketten und Datumswerten

Wenn Eingaben als Zeichenkette empfangen werden, können Sie diese mit den Funktionen CONVERT() oder CAST() umwandeln. Dies hilft bei Integrations-Pipelines und dynamischem SQL.

DECLARE @str VARCHAR(20) = '2024-07-12 14:30:00';
SELECT CONVERT(DATETIME, @str) AS ConvertedDate;

Wo Genauigkeit wichtig ist, verwenden Sie datetime2 oder datetimeoffset für einen erweiterten Bereich und Zeitzonenfunktionen.

Datumsmathematik

Das Addieren oder Subtrahieren von Zeitintervallen kann mit DATEADD() gehandhabt werden. So lassen sich Verfallsdaten, Fälligkeitszeiten oder Berichtszeiträume leicht berechnen.

DECLARE @start DATETIME = '2024-07-12';
SELECT
  DATEADD(DAY, 5, @start) AS PlusFiveDays,
  DATEADD(MONTH, 1, @start) AS NextMonth;

Extrahieren von Datumsbestandteilen

Benötigen Sie einen bestimmten Teil eines Datums? SQL Server bietet direkte Funktionen zum Extrahieren von Jahr, Monat, Wochentag und mehr.

SELECT 
  YEAR(GETDATE()) AS Year,
  MONTH(GETDATE()) AS Month,
  DAY(GETDATE()) AS Day,
  DATEPART(WEEKDAY, GETDATE()) AS Weekday;

Best Practices für SQL Server Datumsangaben

  1. Verwenden Sie den kleinsten Datums-/Zeittyp, der Ihren Anforderungen entspricht. Verwenden Sie beispielsweise date, wenn die Zeit keine Rolle spielt.
  2. Halten Sie sich bei Import/Export an ISO-formatierte Zeichenketten, um Mehrdeutigkeiten zu vermeiden.
  3. Beziehen Sie sich auf die offiziellen Microsoft Stil-Codes zur Gewährleistung konsistenter Formatierung.
  4. Seien Sie sich der Server-Lokaleinstellungen und Spracheinstellungen bewusst – diese können die Eingabeparsing und das Verhältnis von Tag und Monat beeinflussen.

Umgang mit Zeitzonen

Zeitzonenbewusstsein ist für globale Anwendungen entscheidend. Das datetimeoffset in SQL Server hilft, Konsistenz beim Speichern von UTC und bei der Umrechnung in lokale Zeitzonen sicherzustellen.

DECLARE @utc DATETIMEOFFSET = '2024-07-12 12:00:00 +00:00';
DECLARE @cet DATETIMEOFFSET = '2024-07-12 14:00:00 +02:00';
SELECT DATEDIFF(HOUR, @utc, @cet) AS HourDifference;

Zusammenfassung und Fazit

Die Verwaltung und Formatierung von Datumswerten in SQL Server muss nicht komplex sein. Wenn Sie die richtigen Datentypen verstehen und Umrechnungsfunktionen strategisch anwenden, können Sie sicherstellen, dass Ihre Anwendungen zeitbasierte Informationen klar und konsistent darstellen.

Egal, ob Sie Berichte erstellen, Zeichenketten parsen oder zeitbewusste Geschäftslogik implementieren – das Beherrschen von SQL Server Datumsangaben verschafft Ihnen präzise Kontrolle über zeitliche Daten. Nutzen Sie integrierte Funktionen, halten Sie sich an Formatierungsstandards und verwenden Sie Zeitzonenunterstützung, um Fehler zu reduzieren und das Vertrauen der Nutzer zu erhöhen.

Nächste

Cloud-Lösungen vs. SaaS

Cloud-Lösungen vs. SaaS

Erfahren Sie mehr

Benötigen Sie die Hilfe unseres Support-Teams?

Unsere Experten beantworten gerne Ihre Fragen.

Allgemeine Informationen:
[email protected]
Kundenservice und technischer Support:
support.datasunrise.com
Partnerschafts- und Allianz-Anfragen:
[email protected]