Freigeben über


DATETIMEOFFSETFROMPARTS (Transact-SQL)

Gibt einen datetimeoffset-Wert für das angegebene Datum und die angegebene Uhrzeit mit dem angegebenen Offset und der angegebenen Genauigkeit zurück.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Gilt für: SQL Server (SQL Server 2012 bis aktuelle Version), Windows Azure SQL-Datenbank (Ursprüngliche Version bis aktuelle Version).

Syntax

DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )

Argumente

  • year
    Ganzzahliger Ausdruck, der ein Jahr angibt.

  • month
    Ganzzahliger Ausdruck, der einen Monat angibt.

  • day
    Ganzzahliger Ausdruck, der einen Tag angibt.

  • hour
    Ganzzahliger Ausdruck, der die Stunden angibt.

  • minute
    Ganzzahliger Ausdruck, der die Minuten angibt.

  • seconds
    Ganzzahliger Ausdruck, der die Sekunden angibt.

  • fractions
    Ganzzahliger Ausdruck, der die Sekundenbruchteile angibt.

  • hour_offset
    Ganzzahliger Ausdruck, der den Stundenteil des Zeitzonenoffsets angibt.

  • minute_offset
    Ganzzahliger Ausdruck, der den Minutenteil des Zeitzonenoffsets angibt.

  • precision
    Ganzzahliges Literal, das die Genauigkeit des zurückzugebenden datetimeoffset-Werts angibt.

Rückgabetypen

datetimeoffset ( precision )

Hinweise

DATETIMEOFFSETFROMPARTS gibt einen vollständig initialisierten datetimeoffset-Datentyp zurück. Die Offsetargumente werden verwendet, um den Zeitzonenoffset darzustellen. Werden die Offsetargumente nicht angegeben, wird als Zeitzonenoffset 00:00 angenommen, d. h. es gibt keinen Zeitzonenoffset. Wenn die Offsetargumente angegeben werden, dann müssen beide Argumente vorhanden und beide Argumente entweder positiv oder negativ sein. Wenn minute_offset angegeben wird, hour_offset jedoch nicht, wird ein Fehler ausgelöst. Wenn andere Argumente ungültig sind, wird ein Fehler ausgegeben. Wenn erforderliche Argumente den Wert NULL haben, wird NULL zurückgegeben. Wenn jedoch das precision-Argument NULL ist, wird ein Fehler ausgelöst.

Das fractions-Argument ist vom precision-Argument abhängig. Wenn beispielsweise precision den Wert 7 hat, dann stellt jeder Bruchteil 100 Nanosekunden dar. Ist precision jedoch 3, dann stellt jeder Bruchteil eine Millisekunde dar. Wenn der Wert von precision 0 (null) ist, dann muss auch der Wert von fractions 0 (null) sein; andernfalls wird ein Fehler ausgelöst.

Diese Funktion kann remote auf SQL Server 2014-Servern oder höher ausgeführt werden. Eine Remoteausführung auf Servern mit einer Version unter SQL Server 2014 ist nicht möglich.

Beispiele

A.Einfaches Beispiel ohne Sekundenbruchteile

SELECT DATETIMEOFFSETFROMPARTS ( 2010, 12, 31, 14, 23, 23, 0, 12, 0, 7 ) AS Result;

Dies ist das Resultset.

Result
-------------------------------------------
2010-12-07 00:00:00.0000000 +00:00

(1 row(s) affected)

B.Beispiel mit Sekundenbruchteilen

Das folgende Beispiel zeigt die Verwendung der Parameter fractions und precision:

  1. Wenn fractions über den Wert 5 und precision über den Wert 1 verfügt, dann stellt der Wert von fractions 5/10 einer Sekunde dar.

  2. Wenn fractions über den Wert 50 und precision über den Wert 2 verfügt, dann stellt der Wert von fractions 50/100 einer Sekunde dar.

  3. Wenn fractions über den Wert 500 und precision über den Wert 3 verfügt, dann stellt der Wert von fractions 500/1000 einer Sekunde dar.

SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 5, 12, 30, 1 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 50, 12, 30, 2 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 500, 12, 30, 3 );
GO

Dies ist das Resultset.

----------------------------------
2011-08-15 14:30:00.5 +12:30

(1 row(s) affected)


----------------------------------
2011-08-15 14:30:00.50 +12:30

(1 row(s) affected)


----------------------------------
2011-08-15 14:30:00.500 +12:30

(1 row(s) affected)

Siehe auch

Verweis

datetimeoffset (Transact-SQL)