In SQL Server können Sie das T-SQL FORMAT()
verwenden Funktion, um ein Datum im gewünschten Format anzuzeigen. Diese Funktion akzeptiert ein optionales „Kultur“-Argument, mit dem Sie das US-Datumsformat angeben können.
Abhängig von der Sprache Ihrer lokalen Sitzung müssen Sie dieses Argument möglicherweise nicht verwenden. Hier erfahren Sie jedoch, wie Sie das US-Datumsformat explizit angeben.
Beispiel 1 – Kurzes US-Datumsformat
Um explizit anzugeben, dass ein Datum im US-englischen Format angezeigt werden soll, verwenden Sie en-US
als Kulturargument:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'd', 'en-US') Result;
Ergebnis:
+-----------+ | Result | |-----------| | 12/1/2020 | +-----------+
In diesem Fall habe ich ein kleines d
verwendet als zweites Argument. Dadurch ergibt sich ein relativ kurzes Datumsformat, bei dem Tag und Monat als Zahlen dargestellt werden.
Und da wir ein US-amerikanisches Datumsformat verwenden, steht der Monat vor dem Tag.
Beispiel 2 – Langes US-Datumsformat
Wenn ich es in einen Großbuchstaben D
ändere , erhalte ich ein längeres Format mit ausgeschriebenem Tag und Monat:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'D', 'en-US') Result;
Ergebnis:
+---------------------------+ | Result | |---------------------------| | Tuesday, December 1, 2020 | +---------------------------+
Beispiel 3 – Benutzerdefiniertes US-Datumsformat
Wenn Sie feststellen, dass die obigen Datumsformate zu restriktiv sind, können Sie jederzeit ein benutzerdefiniertes Datumsformat angeben. Wenn Ihnen beispielsweise das vorherige Beispiel gefällt, Sie jedoch lieber nur die ersten 3 Buchstaben des Tages und des Monats haben möchten, können Sie Folgendes tun:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'ddd, MMM d, yyyy', 'en-US') Result;
Ergebnis:
+------------------+ | Result | |------------------| | Tue, Dec 1, 2020 | +------------------+
Ich gebe immer noch eine Kultur an, obwohl ich genau angebe, wohin jede Datumskomponente geht. Der Grund, warum ich dies tue, ist, explizit anzugeben, welche Sprache verwendet werden soll. Das Weglassen dieses Arguments kann je nach verwendeter Sprache zu Problemen führen oder auch nicht.
Das Gute an benutzerdefinierten Datumsformaten ist, dass sie Ihnen viel Flexibilität bieten. Sie können Komponenten umschalten und sie werden genau dort angezeigt, wo Sie sie haben möchten.
Ihre aktuelle Sitzung überprüfen
Bei Verwendung des FORMAT()
Wenn das Kulturargument nicht angegeben wird, wird die Sprache der aktuellen Sitzung verwendet. Diese Sprache wird entweder implizit oder explizit durch Verwendung von SET LANGUAGE
gesetzt Aussage.
Weitere Informationen finden Sie hier:3 Möglichkeiten, die Sprache der aktuellen Sitzung in SQL Server (T-SQL) abzurufen.
Siehe auch Festlegen der aktuellen Sprache in SQL Server (T-SQL).