Freigeben über


DATETIME2FROMPARTS (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics 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 )  

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 )

Hinweise

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 sehen Sie das Ergebnis.

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 sehen Sie das Ergebnis.

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

Siehe auch

datetime2 (Transact-SQL)