Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

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

T-SQL ha una funzione chiamata DATETIMEOFFSETFROMPARTS() che ti consente di ottenere un datetimeoffset valore dalle varie parti separate di una data. In particolare, restituisce un datetimeoffset valore per la data e l'ora specificate e con gli offset e la precisione specificati.

Esempi di questa funzione di seguito.

Sintassi

La sintassi è questa:

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

Dove:

  • I primi 7 argomenti sono espressioni intere che specificano quella particolare parte di data/ora.
  • Il hour_offset argomento è un'espressione intera che specifica la parte dell'ora dell'offset del fuso orario.
  • Il minute_offset è un'espressione intera che specifica la parte dei minuti dell'offset del fuso orario.
  • La precision argomento è un valore letterale intero che specifica la precisione di datetimeoffset valore da restituire. Questo valore specifica effettivamente la scala (ovvero il numero di cifre a destra della cifra decimale).

Esempio

Ecco un esempio di utilizzo.

SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 23, 35, 29, 500, 12, 30, 4 ) 
AS Result;

Risultato:

Result
----------------------------------
2021-05-10 23:35:29.0500 +12:30

Argomenti non validi

Devi assicurarti che tutti gli argomenti siano validi, altrimenti riceverai un errore. Ecco un esempio di fornitura di una parte dell'ora fuori intervallo (25). La parte dell'ora può essere solo compresa tra 0 e 24.

SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 25, 35, 29, 500, 12, 30, 4 ) 
AS Result;

Risultato:

Cannot construct data type datetimeoffset, some of the arguments have values which are not valid.

Numero di argomenti

È necessario fornire il numero corretto di argomenti (10). In caso contrario, riceverai un errore.

SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10 ) AS Result;

Risultato:

The datetimeoffsetfromparts function requires 10 argument(s).

Argomenti nulli

Se uno dei primi 9 argomenti è nullo, il risultato è NULL :

SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, NULL, 35, 29, 500, 12, 30, 4 ) 
AS Result;

Risultato:

Result
----------------------------------
NULL

Tuttavia, se l'ultimo argomento (di precisione) è null, viene restituito un errore:

SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 23, 35, 29, 500, 12, 30, NULL ) 
AS Result;

Risultato:

Scale argument is not valid. Valid expressions for data type datetimeoffset scale argument are integer constants and integer constant expressions.

Vedi anche DATETIME2FROMPARTS() Esempi in SQL Server (T-SQL) per la restituzione di un datetime2 valore (senza l'offset).