Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

TIMEFROMPARTS() Beispiele in SQL Server (T-SQL)

Das T-SQL TIMEFROMPARTS() Mit der Funktion können Sie eine Zeit erstellen Wert aus den verschiedenen Zeitabschnitten. Sie können auch die Genauigkeit des Rückgabewerts angeben.

Nachfolgend finden Sie Beispiele dafür, wie diese Funktion funktioniert.

Syntax

Die Syntax lautet wie folgt:

TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )

Wobei die ersten 4 Argumente ganzzahlige Ausdrücke sind, die diesen bestimmten Zeitabschnitt angeben. Das fünfte Argument ist ein ganzzahliges Literal, das die Genauigkeit der Zeit angibt zurückzugebender Wert.

Beispiel

Hier ist ein Beispiel zur Veranschaulichung.

SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, 7 ) AS Result;

Ergebnis:

+------------------+
| Result           |
|------------------|
| 23:35:29.1234567 |
+------------------+

In diesem Fall habe ich einen Genauigkeitswert von 7 angegeben.

Genauer gesagt (kein Wortspiel beabsichtigt), gibt das Präzisionsargument tatsächlich die Skalierung an . Skalierung ist die Anzahl der Ziffern rechts vom Dezimalpunkt. Präzision ist die Gesamtzahl der Stellen.

Ungültige Argumente

Wenn eines der Argumente ungültig ist, tritt ein Fehler auf. Beispiel:

SELECT TIMEFROMPARTS( 23, 35, 61, 1234567, 7 ) AS Result;

Ergebnis:

Cannot construct data type time, some of the arguments have values which are not valid.

In diesem Fall habe ich eine Minute angegeben Argument von 61 .

Anzahl der Argumente

Ein Fehler tritt auch auf, wenn Sie nicht die richtige Anzahl von Argumenten angeben. Beispiel:

SELECT TIMEFROMPARTS( 23, 35, 29, 7 ) AS Result;

Ergebnis:

The timefromparts function requires 5 argument(s).

Nullwerte

Wenn eines der ersten 4 Argumente null ist, ist das Ergebnis NULL :

SELECT TIMEFROMPARTS( 23, 35, NULL, 1234567, 7 ) AS Result;

Ergebnis:

+----------+
| Result   |
|----------|
| NULL     |
+----------+

Wenn jedoch das fünfte Argument (Präzision ) null ist, tritt ein Fehler auf:

SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, NULL ) AS Result;

Ergebnis:

Scale argument is not valid. Valid expressions for data type time scale argument are integer constants and integer constant expressions.

Remoting

Microsoft gibt an, dass die TIMEFROMPARTS() Die Funktion kann auf Server mit SQL Server 2012 (11.x) und höher remote übertragen werden. Es kann nicht auf Server mit einer niedrigeren Version als SQL Server 2012 (11.x) übertragen werden.

Eine ähnliche Funktion

Sehen Sie sich auch die SMALLDATETIMEFROMPARTS()-Beispiele in SQL Server (T-SQL) an, um eine smalldatetime zu erhalten Wert anstelle einer Zeit Wert.