Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-databas i Microsoft Fabric
Returnerar ett datumtidsavvikningsvärde för de angivna datum- och tidsargumenten. Det returnerade värdet har en precision specificerad av precisionsargumentet, och en offset som specificeras av offset-argumenten.
Transact-SQL syntaxkonventioner
Syntax
DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )
Arguments
år
Ett heltalsuttryck som specificerar ett år.
månad
Ett heltalsuttryck som specificerar en månad.
dag
Ett heltalsuttryck som specificerar en dag.
timme
Ett heltalsuttryck som specificerar timmarna.
minut
Ett heltalsuttryck som specificerar minuterna.
Sekunder
Ett heltalsuttryck som specificerar sekunderna.
Fraktioner
Ett heltalsuttryck som specificerar ett bråkdelssekundsvärde.
hour_offset
Ett heltalsuttryck som specificerar timdelen av tidszonsförskjutningen.
minute_offset
Ett heltalsuttryck som specificerar den minsta delen av tidszonsförskjutningen.
precision
Ett heltalsbokstavligt värde som specificerar precisionen för datumtidsavvikningsvärdet som DATETIMEOFFSETFROMPARTS kommer att returneras.
Returtyper
Datumtidsavvikning (precision)
Anmärkningar
DATETIMEOFFSETFROMPARTS returnerar en fullt initierad datetimeoffset-datatyp . Offset-argumenten representerar tidszonsförskjutningen. För utelämnade offsetargument antas DATETIMEOFFSETFROMPARTS en tidszonsoffset på 00:00 – med andra ord, ingen tidszonsförskjutning. För specificerade offsetargument förväntas DATETIMEOFFSETFROMPARTS värden för båda argumenten, och båda värdena är positiva eller negativa. Om minute_offset har ett värde och hour_offset inte har något värde, DATETIMEOFFSETFROMPARTS kommer ett fel att ge upphov.
DATETIMEOFFSETFROMPARTS ger ett fel om de andra argumenten har ogiltiga värden. Om minst ett obligatoriskt argument har ett NULL värde, så DATETIMEOFFSETFROMPARTS kommer att returnera NULL. Men om precisionsargumentet har ett NULL värde, kommer att DATETIMEOFFSETFROMPARTS ge ett fel.
Bråkargumentet beror på precisionsargumentet. Till exempel, för ett precisionsvärde på 7, representerar varje fraktion 100 nanosekunder; För en precision på 3 representerar varje bråk en millisekund. För ett precisionsvärde på noll måste bråktalets värde också vara noll; annars kommer det DATETIMEOFFSETFROMPARTS att ge ett fel.
Denna funktion kan fjärrkopplas till SQL Server 2012 (11.x)-servrar och uppåt. Den är inte fjärransluten till servrar som har en version under SQL Server 2012 (11.x).
Examples
A. Ett exempel utan bråkdelar av en sekund
SELECT DATETIMEOFFSETFROMPARTS ( 2010, 12, 31, 14, 23, 23, 0, 12, 0, 7 ) AS Result;
Här är resultatet.
Result
----------------------------------
2010-12-31 14:23:23.0000000 +12:00
(1 row(s) affected)
B. Exempel med bråkdelar av en sekund
Detta exempel visar användningen av bråk- och precisionsparametrarna :
När bråk har värdet 5 och precision värdet 1, representerar bråkets värde 5/10 sekund.
När bråk har värdet 50 och precision värdet 2, representerar bråkets värde 50/100 sekund.
När bråk har värdet 500 och precision värdet 3, representerar bråkets värde 500/1000 sekund.
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
Här är resultatet.
----------------------------------
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)