DATETIME2FROMPARTS (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Diese Funktion gibt einen datetime2-Wert für die angegebenen Argumente für Datum und Zeit zurück. Der zurückgegebene Wert verfügt über eine Genauigkeit, die durch das precision-Argument angegeben wird.

Transact-SQL-Syntaxkonventionen

Syntax

DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision )  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

year
Ein ganzzahliger Ausdruck, der ein Jahr angibt.

month
Ein ganzzahliger Ausdruck, der einen Monat angibt.

day
Ein ganzzahliger Ausdruck, der einen Tag angibt.

hour
Ein ganzzahliger Ausdruck, der die Stunden angibt.

minute
Ein ganzzahliger Ausdruck, der die Minuten angibt.

Sekunden
Ein ganzzahliger Ausdruck, der die Sekunden angibt.

fractions
Ein ganzzahliger Ausdruck, der einen Wert für Sekundenbruchteile angibt.

precision
Ein ganzzahliger Ausdruck, der die Genauigkeit des datetime2-Werts angibt, der von DATETIME2FROMPARTS zurückgegeben wird.

Rückgabetypen

datetime2 (Genauigkeit)

Bemerkungen

DATETIME2FROMPARTS gibt einen vollständig initialisierten datetime2-Wert zurück. DATETIME2FROMPARTS löst einen Fehler aus, wenn mindestens ein erforderliches Argument über einen ungültigen Wert verfügt. DATETIME2FROMPARTS gibt NULL zurück, wenn mindestens ein erforderliches Argument den Wert NULL enthält. Wenn das precision-Argument jedoch einen NULL-Wert enthält, löst DATETIME2FROMPARTS einen Fehler aus.

Das fractions-Argument ist vom precision-Argument abhängig. Wenn precision beispielsweise den Wert 7 aufweist, stellt jeder Bruchteil 100 Nanosekunden dar. Wenn precision jedoch den Wert 3 aufweist, stellt jeder Bruchteil eine Millisekunde dar. Wenn der Wert von precision 0 (null) ist, muss auch der Wert von fractions 0 (null) sein; andernfalls löst DATETIME2FROMPARTS einen Fehler aus.

Diese Funktion kann remote auf SQL Server 2012 (11.x)-Servern oder höher ausgeführt werden. Eine Remoteausführung auf Servern mit einer Version vor SQL Server 2012 (11.x) ist nicht möglich.

Beispiele

A. Ein Beispiel ohne Sekundenbruchteile

SELECT DATETIME2FROMPARTS ( 2010, 12, 31, 23, 59, 59, 0, 0 ) AS Result;  

Hier ist das Resultset.

Result  
---------------------------  
2010-12-31 23:59:59.0000000  
  
(1 row(s) affected)  

B. Beispiel mit Sekundenbruchteilen

Dieses Beispiel zeigt die Verwendung der Parameter fractions und precision:

  1. Wenn fractions den Wert 5 und precision den Wert 1 hat, stellt der Wert von fractions 5/10 einer Sekunde dar.

  2. Wenn fractions den Wert 50 und precision den Wert 2 hat, stellt der Wert von fractions 50/100 einer Sekunde dar.

  3. Wenn fractions den Wert 500 und precision den Wert 3 hat, 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  

Hier 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)  

Weitere Informationen

datetime2 (Transact-SQL)