Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So zeigen Sie ein Datum im US-Datumsformat in SQL Server (T-SQL) an

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).