So konvertieren Sie die Datepart-Nummer in den Wochentagname in SQL Server

Wenn Sie jemals mit SQL Server gearbeitet haben, sind Sie wahrscheinlich auf Situationen gestoßen, in denen Sie bestimmte Teile eines Datums extrahieren mussten, um sie besser zu verstehen und zu nutzen. Eine häufige Anforderung besteht darin, die numerische Darstellung eines Tages – die Sie aus einer datepart-Funktion erhalten – in den entsprechenden Namen (wie “Montag” oder “Dienstag”) umzuwandeln. In diesem Blogbeitrag werden wir untersuchen, wie Sie diese Konvertierung in SQL Server schnell erreichen können.

Das Problem verstehen

Wenn Sie die SQL Server-Funktion datepart verwenden, um den Wochentag aus einem Datum abzurufen, erhalten Sie eine Zahl zwischen 1 und 7, wobei:

  • 1 = Sonntag
  • 2 = Montag
  • 3 = Dienstag
  • 4 = Mittwoch
  • 5 = Donnerstag
  • 6 = Freitag
  • 7 = Samstag

Zum Beispiel gibt die Ausführung der folgenden Abfrage den Wochentag als Zahl zurück:

SELECT DATEPART(dw, GETDATE());

Während dieser numerische Wert nützlich sein kann, ist er nicht sehr benutzerfreundlich; unser Ziel ist es, diese numerische Ausgabe in ein lesbareres Format zu konvertieren, insbesondere den Namen des Tages.

Die Lösung: Verwendung von datename

Um den Namen des Tages anstelle einer Zahl zu erhalten, können Sie die Funktion DATENAME in SQL Server nutzen. Die Funktion DATENAME ermöglicht es Ihnen, den Namen eines bestimmten Datumssegments für ein angegebenes Datum zurückzugeben. So können Sie es tun:

Schritt 1: Verwendung der DATENAME-Funktion

Sie können einfach die Funktion datepart in Ihrer SQL-Abfrage durch datename ersetzen, wie folgt:

SELECT DATENAME(weekday, GETDATE());

Erklärung der Abfrage:

  • DATENAME: Diese Funktion nimmt zwei Parameter; der erste ist das Datumssegment, das Sie abrufen möchten (in diesem Fall weekday), und der zweite ist das Datum, von dem Sie die Informationen extrahieren möchten (in diesem Fall das aktuelle Datum, das von GETDATE() zurückgegeben wird).
  • GETDATE(): Diese Funktion gibt den aktuellen Zeitstempel des Datenbanksystems zurück.

Schritt 2: Ausführen der Abfrage

Wenn Sie die oben genannte SELECT-Anweisung ausführen, gibt sie den Namen des aktuellen Tages zurück, z. B. “Sonntag”, “Montag” usw., was die sofortige Verständlichkeit erheblich erleichtert.

Fazit

Mit der DATENAME-Funktion in SQL Server können Sie mühelos eine numerische Tagesdarstellung in einen sinnvolleren Wochentagname umwandeln. Diese einfache Einzeile könnte Ihnen Zeit sparen und Ihre Datenausgabe erheblich interpretierbarer machen, insbesondere in Berichten oder Benutzeroberflächen.

Das nächste Mal, wenn Sie den Wochentag in SQL Server abrufen müssen, denken Sie daran, dass die Umwandlung einer Zahl in ihren Namen nur eine schnelle Abfrage entfernt ist!

Fühlen Sie sich frei, mit verschiedenen Daten zu experimentieren, indem Sie GETDATE() durch Ihren spezifischen Datumswert ersetzen, um zu sehen, wie diese Funktionen funktionieren!