sql >> Databasteknik >  >> RDS >> Sqlserver

TIMEFROMPARTS() Exempel i SQL Server (T-SQL)

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.


  1. Det gick inte att ladda DLL 'SqlServerSpatial.dll'

  2. Hur kan jag återställa MySQL root-användarens fullständiga rättigheter?

  3. Använder pyspark för att ansluta till PostgreSQL

  4. Hur skickar man e-post från SQL Server?