De T-SQL TIMEFROMPARTS()
functie stelt u in staat om een tijd . te bouwen waarde uit de verschillende tijdsdelen. U kunt ook de precisie van de retourwaarde specificeren.
Hieronder staan voorbeelden van hoe deze functie werkt.
Syntaxis
De syntaxis gaat als volgt:
TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )
Waarbij de eerste 4 argumenten integer-uitdrukkingen zijn die dat specifieke tijdsdeel specificeren. Het vijfde argument is een letterlijk geheel getal dat de precisie van de tijd . specificeert waarde die moet worden geretourneerd.
Voorbeeld
Hier is een voorbeeld om te demonstreren.
SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, 7 ) AS Result;
Resultaat:
+------------------+ | Result | |------------------| | 23:35:29.1234567 | +------------------+
In dit geval heb ik een precisiewaarde van 7 opgegeven.
Om preciezer te zijn (geen woordspeling bedoeld), specificeert het precisieargument eigenlijk de schaal . Schaal is het aantal cijfers rechts van de komma. Precisie is het totale aantal cijfers.
Ongeldige argumenten
Als een van de argumenten ongeldig is, treedt er een fout op. Voorbeeld:
SELECT TIMEFROMPARTS( 23, 35, 61, 1234567, 7 ) AS Result;
Resultaat:
Cannot construct data type time, some of the arguments have values which are not valid.
In dit geval heb ik een minuut gegeven argument van 61
.
Aantal argumenten
Er zal ook een fout optreden als u niet het juiste aantal argumenten opgeeft. Voorbeeld:
SELECT TIMEFROMPARTS( 23, 35, 29, 7 ) AS Result;
Resultaat:
The timefromparts function requires 5 argument(s).
Null-waarden
Als een van de eerste 4 argumenten null is, is het resultaat NULL
:
SELECT TIMEFROMPARTS( 23, 35, NULL, 1234567, 7 ) AS Result;
Resultaat:
+----------+ | Result | |----------| | NULL | +----------+
Als het 5e argument (precisie ) is null, er treedt een fout op:
SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, NULL ) AS Result;
Resultaat:
Scale argument is not valid. Valid expressions for data type time scale argument are integer constants and integer constant expressions.
Op afstand
Microsoft stelt dat de TIMEFROMPARTS()
functie kan op afstand worden ingesteld op SQL Server 2012 (11.x)-servers en hoger. Het kan niet extern worden gestuurd naar servers met een lagere versie dan SQL Server 2012 (11.x).
Een vergelijkbare functie
Bekijk ook SMALLDATETIMEFROMPARTS() Voorbeelden in SQL Server (T-SQL) voor het verkrijgen van een smalldatetime waarde in plaats van een tijd waarde.