sql >> Database >  >> RDS >> Sqlserver

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

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.


  1. MySQL 8.0 - Client ondersteunt geen authenticatieprotocol dat door de server is aangevraagd; overweeg om MySQL-client te upgraden

  2. Verkrijg MySQL-database-uitvoer via PHP naar XML

  3. Oracle-partitie op trefwoord

  4. MySQL - Hoe zoek ik naar exacte woordovereenkomst met LIKE?