T-SQL heeft een functie genaamd DATETIMEOFFSETFROMPARTS()
waarmee u een datetimeoffset . kunt krijgen waarde uit de verschillende afzonderlijke delen van een datum. Het retourneert met name een datetimeoffset waarde voor de gespecificeerde datum en tijd en met de gespecificeerde offsets en precisie.
Voorbeelden van deze functie hieronder.
Syntaxis
De syntaxis gaat als volgt:
DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )
Waar:
- De eerste 7 argumenten zijn uitdrukkingen voor gehele getallen die dat specifieke datum/tijd-gedeelte specificeren.
- De
hour_offset
argument is een integer-expressie die het uurgedeelte van de tijdzone-offset specificeert. - De
minute_offset
is een integer-expressie die het minuutgedeelte van de tijdzone-offset specificeert. - De
precision
argument is een letterlijk geheel getal dat de precisie specificeert van de datetimeoffset waarde terug te geven. Deze waarde geeft eigenlijk de schaal aan (d.w.z. het aantal cijfers rechts van de komma).
Voorbeeld
Hier is een gebruiksvoorbeeld.
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 23, 35, 29, 500, 12, 30, 4 ) AS Result;
Resultaat:
Result ---------------------------------- 2021-05-10 23:35:29.0500 +12:30
Ongeldige argumenten
U moet ervoor zorgen dat alle argumenten geldig zijn, anders krijgt u een foutmelding. Hier is een voorbeeld van het verstrekken van een uurgedeelte buiten bereik (25). Het uurgedeelte kan alleen tussen 0 en 24 liggen.
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 25, 35, 29, 500, 12, 30, 4 ) AS Result;
Resultaat:
Cannot construct data type datetimeoffset, some of the arguments have values which are not valid.
Aantal argumenten
U moet het juiste aantal argumenten opgeven (10). Als je dat niet doet, krijg je een foutmelding.
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10 ) AS Result;
Resultaat:
The datetimeoffsetfromparts function requires 10 argument(s).
Nullargumenten
Als een van de eerste 9 argumenten null is, is het resultaat NULL
:
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, NULL, 35, 29, 500, 12, 30, 4 ) AS Result;
Resultaat:
Result ---------------------------------- NULL
Als het laatste (precisie)argument echter null is, wordt er een fout geretourneerd:
SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 23, 35, 29, 500, 12, 30, NULL ) AS Result;
Resultaat:
Scale argument is not valid. Valid expressions for data type datetimeoffset scale argument are integer constants and integer constant expressions.
Zie ook DATETIME2FROMPARTS()-voorbeelden in SQL Server (T-SQL) voor het retourneren van een datetime2 waarde (zonder de offset).