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

So formatieren Sie Datum und Uhrzeit in SQL Server

In SQL Server können Sie das T-SQL FORMAT() verwenden Funktion zum Formatieren von Datum und/oder Uhrzeit. Geben Sie einfach zwei Argumente an; das Datum/die Uhrzeit und das zu verwendende Format.

Das Format wird als Formatstring geliefert. Ein Formatstring definiert, wie die Ausgabe formatiert werden soll.

Das FORMAT() Die Funktion akzeptiert auch ein optionales „Kultur“-Argument, mit dem Sie eine Sprache/ein Gebietsschema angeben können, dem die Ergebnisse entsprechen sollen.

Einfaches Beispiel

Hier ist ein einfaches Beispiel für die Verwendung von FORMAT() Funktion zum Formatieren eines Datums.

Rohdatum

Erstens, so sieht das Rohdatum aus. Wenn wir die folgende Anweisung ausführen:

SELECT GETDATE();

Wir erhalten ein Ergebnis, das in etwa so aussieht:

2018-05-03 02:36:54.480

Formatiertes Datum

Jetzt können wir das FORMAT() verwenden Funktion, um dieses Datum und diese Uhrzeit in unser bevorzugtes Format zu formatieren. Zum Beispiel könnten wir dies tun:

SELECT FORMAT( GETDATE(), 'D');

Was dazu führt:

Thursday, May 3, 2018

Dies ist nur eines von vielen Formaten, die wir wählen könnten. Hier ist noch eins:

SELECT FORMAT( GETDATE(), 'd');

Was dazu führt:

5/3/2018

Die tatsächlichen Ergebnisse variieren je nach verwendeter Kultur. Standardmäßig wird die Sprache der aktuellen Sitzung verwendet, aber Sie können dies auch mit einem dritten Argument („Kultur“) überschreiben.

Ein Gebietsschema festlegen

Wir könnten dem obigen Code ein drittes („Kultur“)-Argument hinzufügen, um das Gebietsschema zu bestimmen, das für das Datumsformat verwendet werden soll.

So könnten wir zum Beispiel Folgendes tun:

SELECT FORMAT( GETDATE(), 'd', 'en-gb');

Was dazu führt:

03/05/2018

Hier ist ein weiteres Beispiel:

SELECT FORMAT( GETDATE(), 'd', 'zh-cn');

Was dazu führt:

2018/5/3

Wenn die Kultur Argument nicht angegeben, wird die Sprache der aktuellen Sitzung verwendet.

So finden Sie die Sprache der aktuellen Sitzung und stellen sie wie folgt ein.

Beachten Sie, dass die aktuelle Sprache normalerweise mit der Standardsprache des Benutzers identisch ist, dies jedoch möglicherweise nicht der Fall ist, wenn der Benutzer die aktuelle Sprache mit SET LANGUAGE geändert hat . In jedem Fall können Sie auch herausfinden, was die Standardsprache ist.

Wie Sie sich vorstellen können, könnten Sie je nach Ihrer aktuellen Sprache oder dem Wert eines „kulturellen“ Arguments ganz unterschiedliche Ergebnisse erzielen. Weitere Beispiele finden Sie unter Wie sich Spracheinstellungen auf Ihre FORMAT()-Ergebnisse auswirken können.

Monat/Woche/Jahr extrahieren

Sie können das FORMAT() verwenden Funktion, um nur den Monatsteil des Datums oder die Woche oder das Jahr nach Bedarf zurückzugeben.

Beachten Sie, dass hierbei zwischen Groß- und Kleinschreibung unterschieden wird. Beispiel:MMM formatiert den Monat anders als mmm .

Monat

Beispielcode für die Rückgabe des Monatsteils:

SELECT FORMAT( GETDATE(), 'MMM');

Ergebnis:

May

Jahr

Beispielcode für die Rückgabe des Jahresteils:

SELECT FORMAT( GETDATE(), 'yyyy');

Ergebnis:

2018

Tag

Beispielcode für die Rückgabe des Tagesteils:

SELECT FORMAT( GETDATE(), 'dddd');

Ergebnis:

Thursday

Zeit extrahieren

Sie können auch das FORMAT() verwenden Funktion, um die Uhrzeit in einem bestimmten Format zurückzugeben.

Hier ist ein Beispiel:

SELECT FORMAT( GETDATE(), 'hh.mm');

Ergebnis:

03.37

Der AM/PM-Bezeichner

Sie können auch tt hinzufügen um die AM/PM-Bezeichnung aufzunehmen:

SELECT FORMAT( GETDATE(), 'hh.mm tt');

Ergebnis:

03.37 AM

Formatzeichenfolgen kombinieren

Sie können diese Formatzeichenfolgen auch kombinieren, um Ihr eigenes benutzerdefiniertes Datumsformat bereitzustellen. Beispiel:

SELECT FORMAT( GETDATE(), 'hh.mm tt dddd, dd MMMM, yyyy');

Ergebnis:

03.41 AM Thursday, 03 May, 2018

Referenz für Datums- und Uhrzeitformate

Die folgenden Artikel enthalten alle Formatbezeichner für Datum und Uhrzeit, die mit FORMAT() verwendet werden können Funktion in SQL Server, zusammen mit T-SQL-Beispielen:

  • Standardformatzeichenfolgen für Datum und Uhrzeit
  • Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit

Dies sind die gleichen Datums- und Zeitformatbezeichner, die von .NET Framework unterstützt werden (das FORMAT() Funktion basiert auf dem .NET Framework).

Referenz für numerische Formatspezifizierer

Die folgenden Artikel enthalten alle numerischen Formatbezeichner, die Sie mit FORMAT() verwenden können Funktion (z.B. zum Formatieren von Zahlen):

  • Standardzeichenfolgen für numerische Formate
  • Benutzerdefinierte numerische Formatzeichenfolgen

Dies sind dieselben numerischen Formatbezeichner, die von .NET Framework unterstützt werden.

Andere Datumsfunktionen

T-SQL enthält auch eine Reihe anderer Funktionen, die Ihnen helfen, Teile aus Datumsangaben zu extrahieren. Dazu gehören Funktionen wie DAY() , MONTH() , YEAR() , DATEPART() , und DATENAME() .