Delen via


DATUMTIJDOFFSETVANPARTS (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform Systeem (PDW)SQL-database in Microsoft Fabric

Geeft een datetimeoffset-waarde terug voor de gespecificeerde datum- en tijdargumenten. De geretourneerde waarde heeft een precisie die wordt gespecificeerd door het precisieargument, en een offset zoals gespecificeerd door de offsetargumenten.

Transact-SQL syntaxis-conventies

Syntaxis

DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )  

Arguments

jaar
Een gehele uitdrukking die een jaar specificeert.

maand
Een gehele uitdrukking die een maand specificeert.

dag
Een gehele uitdrukking die een dag specificeert.

uur
Een geheel getal dat de uren specificeert.

minuut
Een gehele expressie die de minuten specificeert.

Seconden
Een gehele uitdrukking die de seconden specificeert.

Breuken
Een gehele getaluitdrukking die een waarde van fractieseconden specificeert.

hour_offset
Een gehele expressie die het uurgedeelte van de tijdzone-offset specificeert.

minute_offset
Een gehele uitdrukking die het minutieuze deel van de tijdzone-offset specificeert.

precisie
Een geheelgetal literale waarde die de precisie specificeert van de datetimeoffset-waarde die DATETIMEOFFSETFROMPARTS zal terugkeren.

Retourtypen

datetimeoffset(precisie)

Opmerkingen

DATETIMEOFFSETFROMPARTS geeft een volledig geïnitialiseerd data-timeoffset-datatype terug. De offset-argumenten geven de tijdzone-offset weer voor. Voor weggelaten offset-argumenten wordt DATETIMEOFFSETFROMPARTS aangenomen dat er een tijdzone-offset van 00:00 is - met andere woorden, geen tijdzone-offset. Voor gespecificeerde offsetargumenten wordt DATETIMEOFFSETFROMPARTS voor beide argumenten waarden verwacht, en beide waarden positief of negatief. Als minute_offset een waarde heeft en hour_offset geen waarde heeft, DATETIMEOFFSETFROMPARTS zal er een fout ontstaan. DATETIMEOFFSETFROMPARTS zal een fout veroorzaken als de andere argumenten ongeldige waarden hebben. Als ten minste één vereiste argument een NULL waarde heeft, dan DATETIMEOFFSETFROMPARTS zal teruggeven NULL. Als het precisieargument echter een NULL waarde heeft, zal er DATETIMEOFFSETFROMPARTS een fout ontstaan.

Het breukenargument hangt af van het precisieargument. Bijvoorbeeld, voor een precisiewaarde van 7 vertegenwoordigt elke fractie 100 nanoseconden; voor een precisie van 3 vertegenwoordigt elke breuk een milliseconde. Voor een precisiewaarde van nul moet de waarde van breuken ook nul zijn; anders zal er DATETIMEOFFSETFROMPARTS een fout ontstaan.

Deze functie kan op afstand worden overgebracht naar SQL Server 2012 (11.x) servers en hoger. Het wordt niet op afstand gelinkt naar servers die een versie onder SQL Server 2012 (11.x) hebben.

Voorbeelden

Eén. Een voorbeeld zonder fracties van een seconde

SELECT DATETIMEOFFSETFROMPARTS ( 2010, 12, 31, 14, 23, 23, 0, 12, 0, 7 ) AS Result;  

Hier is het resultatenoverzicht.

Result  
----------------------------------
2010-12-31 14:23:23.0000000 +12:00  
  
(1 row(s) affected)  

B. Voorbeeld met breuken van een seconde

Dit voorbeeld toont het gebruik van de breuk- en precisieparameters :

  1. Wanneer breuken een waarde van 5 hebben en precisie een waarde van 1, vertegenwoordigt de waarde van breuken 5/10 van een seconde.

  2. Wanneer breuken een waarde van 50 hebben en precisie een waarde van 2, vertegenwoordigt de waarde van breuken 50/100 van een seconde.

  3. Wanneer breuken een waarde van 500 hebben en precisie een waarde van 3, dan vertegenwoordigt de waarde van breuken 500/1000 van een seconde.

SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 5, 12, 30, 1 );  
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 50, 12, 30, 2 );  
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 500, 12, 30, 3 );  
GO  

Hier is het resultatenoverzicht.

----------------------------------  
2011-08-15 14:30:00.5 +12:30  
  
(1 row(s) affected)  
  
----------------------------------  
2011-08-15 14:30:00.50 +12:30  
  
(1 row(s) affected)  
  
----------------------------------  
2011-08-15 14:30:00.500 +12:30  
  
(1 row(s) affected)  

Zie ook

Datetimeoffset (Transact-SQL)
TIJDZONE (Transact-SQL)