Die Funktion DATENAME() gibt eine Zeichenkette vom Typ navarchar zurück, die einen bestimmten Datumsteil des Datums darstellt. Es kann ein Tag, ein Monat, ein Jahr oder die Uhrzeit eines bestimmten Datums sein.
DATENAME() ist ähnlich wie DATEPART(), mit Ausnahme des Rückgabetyps.
Die Funktion DATENAME() gibt den Datumsteil als Zeichenkette zurück, während DATEPART() den Datumsteil als Ganzzahl zurückgibt.
SYNTAX
DATENAME (datepart, inputdate)
Datenteil ist der Teil eines Datums, der extrahiert werden soll.
Eingabedatum ist das Datum, aus dem der Datumsteil extrahiert wird.
Schauen wir uns ein Beispiel für die DATENAME-Funktion in SQL an.
Die folgende Anweisung verwendet die DATENAME-Funktion, die die Datumsteile aus dem angegebenen Datum ‚2018-03-27 18:23:45.470‘
DECLARE @date DATETIME = '2018-03-27 18:23:45.470';SELECT DATENAME(year, @date) as year,DATENAME(quarter, @date) as quarter,DATENAME(month, @date) as month,DATENAME(day, @date) as day,DATENAME(dayofyear ,@date) as dayofyear,DATENAME(Week ,@date) as week,DATENAME(hour, @date) as hour,DATENAME(minute, @date) as minute,DATENAME(second, @date) as second ,DATENAME(millisecond, @date) as millisecond ,DATENAME(microsecond, @date) as microsecond ,DATENAME(nanosecond, @date) as nanosecond
Wie Sie sehen können, gibt sie alle Teile des Datums wie Quartal, Monat, Tag, Tag des Jahres, Woche, Stunde, Minute, Sekunde, Milisekunde, Mikrosekunde und Nanosekunde zurück.
Mit der Funktion DATENAME können Sie also jeden Teil des Datums abrufen.
Nachfolgend finden Sie die gültige Liste der Datumsbestandteile, die Sie verwenden können, um einen Teil des Datums nach Ihren Anforderungen abzurufen.
day d, dd month m, mmyear yy, yyyyquarter qq, qhour hhminute mi, nsecond ss, smillisecond msmicrosecond mcsnanosecond nsweek wk, wwdayofyear dy, y
DATEPART VS DATENAME
Schauen wir uns ein Beispiel an, das den Unterschied zwischen DATEPART und DATENAME verdeutlicht.
DATEPART gibt einen Teil des Datums als Ganzzahl zurück, während DATENAME den Datentyp String zurückgibt.
Wenn Sie also eine beliebige Zahl zu dem von DATEPART zurückgegebenen Ergebnis hinzufügen, fügt es die Zahl zum Ergebnis hinzu und gibt das geänderte Ergebnis zurück, während es, wenn Sie eine beliebige Zahl zu dem von DATENAME zurückgegebenen Ergebnis hinzufügen, die Zahl mit dem Ergebnis verkettet, anstatt sie hinzuzufügen.
Schauen wir uns ein Beispiel an. In der folgenden Anweisung können Sie sehen, dass wir für ein bestimmtes Datum versuchen, den Wert 2 in das Ergebnis einzufügen, das von den Funktionen DATEPART und DATENAME für den Datumsteil von Monat und Jahr zurückgegeben wird.
Sie können das Endergebnis sehen, bei dem die DATEPART-Funktion die 2 im Ergebnis hinzufügt, während DATENAME die 2 mit dem Ergebnis verkettet.
DECLARE @date DATETIME = '2018-03-27 18:23:45.470';SELECT DATENAME(month, @date) + '2' as month_from_DateName, DATEPART(month, @date) + '2' as month_from_DatePart SELECT DATENAME(year, @date) + '2' as year_from_DateName, DATEPART(year, @date) + '2' as year_from_DatePart,
Empfohlen für Sie
SQL Server DATEPART()
325 Aufrufe insgesamt, 3 Aufrufe heute