sql >> Database >  >> RDS >> Sqlserver

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

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).


  1. MariaDB BEHALVE Operator uitgelegd

  2. Verschil tussen N'String' versus U'String'-letterwoorden in Oracle

  3. een kolom vergelijken met een lijst met waarden in t-sql

  4. Hoe sys.dm_exec_describe_first_result_set werkt in SQL Server