Freigeben über


DATENAME (Transact-SQL)

Gibt eine Zeichenfolge zurück, die den angegebenen Wert für datepart des angegebenen Parameters date darstellt.

Eine Übersicht über alle Datums- und Uhrzeitdatentypen und die zugehörigen Funktionen von Transact-SQL finden Sie unter Datums- und Uhrzeitdatentypen und zugehörige Funktionen (Transact-SQL). Informationen und Beispiele, die für alle Datums- und Uhrzeitdatentypen und zugehörige Funktionen gelten, finden Sie unter Verwenden von Datums- und Zeitdaten.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

DATENAME (datepart ,date )

Argumente

  • datepart
    Ist der Teil von date, der zurückgegeben werden soll. In der folgenden Tabelle sind alle gültigen datepart-Argumente aufgelistet. Benutzerdefinierte Variablenentsprechungen sind nicht gültig.

    datepart

    Abkürzungen

    year

    yy, yyyy

    quarter

    qq, q

    month

    mm, m

    dayofyear

    dy, y

    day

    dd, d

    week

    wk, ww

    weekday

    dw

    hour

    hh

    minute

    mi, n

    second

    ss, s

    millisecond

    ms

    microsecond

    mcs

    nanosecond

    ns

    TZoffset

    tz

  • date
    Ein Ausdruck, der in einen time-Wert, einen date-Wert, einen smalldatetime-Wert, einen datetime-Wert, einen datetime2-Wert oder einen datetimeoffset-Wert aufgelöst werden kann. Bei date kann es sich um einen Ausdruck, einen Spaltenausdruck, eine benutzerdefinierte Variable oder ein Zeichenfolgenliteral handeln.

    Verwenden Sie vierstellige Jahreszahlen, um Mehrdeutigkeit zu vermeiden. Informationen zu zweistelligen Jahreszahlen finden Sie unter two digit year cutoff (Option).

Rückgabetyp

nvarchar

Rückgabewert

  • Jedes datepart-Argument und die zugehörigen Abkürzungen geben denselben Wert zurück.

Der Rückgabewert hängt von der Sprachumgebung ab, die durch SET LANGUAGE und durch die Standardsprache der Anmeldung festgelegt wurde. Der Rückgabewert hängt von der Option SET DATEFORMAT ab, wenn date ein Zeichenfolgenliteral einiger Formate darstellt. SET DATEFORMAT wirkt sich nicht auf den Rückgabewert aus, wenn das Datum ein Spaltenausdruck für Daten vom Typ Datum oder Uhrzeit darstellt.

Bei Versionen von SQL Server, die höher als SQL Server 2000 sind, hängt der Rückgabewert von den Einstellungen unter SET DATEFIRST ab, wenn der date-Parameter ein date-Datentypargument aufweist.

datepart-Argumentdes Typs TZoffset

Wenn das datepart-Argument TZoffset (tz) lautet und das date-Argument über keinen Zeitzonenoffset verfügt, wird NULL zurückgegeben.

date-Argument des Typs smalldatetime

Wenn date den Wert smalldatetime aufweist, werden Sekunden als 00 zurückgegeben.

Zurückgeben des Standardwerts für ein datepart-Argument, das nicht im date-Argument enthalten ist

Enthält der Datentyp im date-Argument keine Angabe zu datepart, wird für datepart der Standardwert zurückgegeben.

Beispielsweise wird bei Jahr-Monat-Tag für jeden date-Datentyp standardmäßig der Wert 01900-01-01 angegeben. Die folgende Anweisung verfügt über datepart-Argumente für datepart, ein time-Argument für date und gibt 1900, January, 1, 1, Monday zurück.

SELECT DATENAME(year, '12:10:30.123')
    ,DATENAME(month, '12:10:30.123')
    ,DATENAME(day, '12:10:30.123')
    ,DATENAME(dayofyear, '12:10:30.123')
    ,DATENAME(weekday, '12:10:30.123');

Bei Stunde-Minute-Sekunde wird für den time-Datentyp standardmäßig der Wert 00:00:00 angegeben. Die folgende Anweisung verfügt über timepart-Argumente für datepart, ein date-Argument für date und gibt 0, 0, 0 zurück.

SELECT DATENAME(hour, '2007-06-01')
    ,DATENAME(minute, '2007-06-01')
    ,DATENAME(second, '2007-06-01');

Hinweise

DATENAME kann in den Klauseln WHERE, HAVING, GROUP BY und ORDER BY der SELECT-Liste verwendet werden. In SQL Server 2008 wandelt DATENAME Zeichenfolgeliterale implizit in datetime2-Typen um. Vermeiden Sie bei der Verwendung von DATENAME mit DATEADD die implizite Umwandlung von Zeichenfolgeliteralen. Weitere Informationen finden Sie unter DATEADD (Transact-SQL).

Beispiele

Im folgenden Beispiel werden die Datumsteile für das angegebene Datum zurückgegeben.

SELECT DATENAME(datepart,'2007-10-30 12:15:32.1234567 +05:10')

Dies ist das Resultset.

datepart

Rückgabewert

year, yyyy, yy

2007

quarter, qq, q

4

month, mm, m

October

dayofyear, dy, y

303

day, dd, d

30

week, wk, ww

44

weekday, dw

Tuesday

hour, hh

12

minute, n

15

second, ss, s

32

millisecond, ms

123

microsecond, mcs

123456

nanosecond, ns

123456700

TZoffset, tz

310

Siehe auch

Verweis