DATETIME2FROMPARTS (Transact-SQL)
Gibt einen datetime2-Wert für das angegebene Datum und die angegebene Uhrzeit mit der angegebenen Genauigkeit zurück.
Transact-SQL-Syntaxkonventionen
Syntax
DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, 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.precision
Ganzzahliges Literal, das die Genauigkeit des zurückzugebenden datetime2-Werts angibt.
Rückgabetypen
datetime2 ( precision )
Hinweise
DATETIME2FROMPARTS gibt einen vollständig initialisierten datetime2-Wert zurück. Wenn die Argumente nicht gü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 2012-Servern oder höher ausgeführt werden. Eine Remoteausführung auf Servern mit einer Version unter SQL Server 2012 ist nicht möglich.
Beispiele
A.Einfaches Beispiel ohne Sekundenbruchteile
SELECT DATETIME2FROMPARTS ( 2010, 12, 31, 23, 59, 59, 0, 0 ) AS Result;
Dies ist das Resultset.
Result
---------------------------
2010-12-31 23:59:59.0000000
(1 row(s) affected)
B.Beispiel mit Sekundenbruchteilen
Das folgende Beispiel zeigt die Verwendung der Parameter fractions und precision:
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.
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.
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 DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 5, 1 );
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 50, 2 );
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 500, 3 );
GO
Dies ist das Resultset.
----------------------
2011-08-15 14:23:44.5
(1 row(s) affected)
----------------------
2011-08-15 14:23:44.50
(1 row(s) affected)
----------------------
2011-08-15 14:23:44.500
(1 row(s) affected)