T-SQL TIMEFROMPARTS()
funktionen låter dig bygga en tid värde från de olika tidsdelarna. Du kan också ange precisionen för returvärdet.
Nedan finns exempel på hur den här funktionen fungerar.
Syntax
Syntaxen ser ut så här:
TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )
Där de fyra första argumenten är heltalsuttryck som anger just den tidsdelen. Det femte argumentet är ett heltal som anger precisionen för tiden värde som ska returneras.
Exempel
Här är ett exempel att visa.
SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, 7 ) AS Result;
Resultat:
+------------------+ | Result | |------------------| | 23:35:29.1234567 | +------------------+
I det här fallet angav jag ett precisionsvärde på 7.
För att vara mer exakt (ingen ordlek), precisionsargumentet specificerar faktiskt skalan . Skala är antalet siffror till höger om decimalkomma. Precision är det totala antalet siffror.
Ogiltiga argument
Om något av argumenten är ogiltigt kommer ett fel att uppstå. Exempel:
SELECT TIMEFROMPARTS( 23, 35, 61, 1234567, 7 ) AS Result;
Resultat:
Cannot construct data type time, some of the arguments have values which are not valid.
I det här fallet angav jag en minut argument för 61
.
Antal argument
Ett fel uppstår också om du inte anger rätt antal argument. Exempel:
SELECT TIMEFROMPARTS( 23, 35, 29, 7 ) AS Result;
Resultat:
The timefromparts function requires 5 argument(s).
Nullvärden
Om något av de första 4 argumenten är null, blir resultatet NULL
:
SELECT TIMEFROMPARTS( 23, 35, NULL, 1234567, 7 ) AS Result;
Resultat:
+----------+ | Result | |----------| | NULL | +----------+
Men om det 5:e argumentet (precision ) är null, uppstår ett fel:
SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, NULL ) AS Result;
Resultat:
Scale argument is not valid. Valid expressions for data type time scale argument are integer constants and integer constant expressions.
Fjärrkontroll
Microsoft uppger att TIMEFROMPARTS()
funktionen kan fjärrstyras till SQL Server 2012 (11.x)-servrar och högre. Den kan inte fjärrstyras till servrar som har en lägre version än SQL Server 2012 (11.x).
En liknande funktion
Kolla även in SMALLDATETIMEFROMPARTS()-exempel i SQL Server (T-SQL) för att få en smalldatetime värde istället för en tid värde.