In SQL Server, transact-sql SYSDATETIMEOFFSET()
la funzione restituisce un datetimeoffset(7) valore che contiene la data e l'ora del computer in cui è in esecuzione l'istanza di SQL Server. Questo valore include l'offset del fuso orario.
Esempi di utilizzo di seguito.
Sintassi
La sintassi è questa:
SYSDATETIMEOFFSET ( )
Quindi chiami semplicemente la funzione senza argomenti.
Esempio
Ecco un esempio di base:
SELECT SYSDATETIMEOFFSET() AS Result;
Risultato:
Result ---------------------------------- 2018-06-17 09:55:27.3221853 +10:00
Estrazione dell'offset di fuso orario
Puoi usare il DATEPART()
funzione per restituire l'offset del fuso orario. Questa funzione restituisce un numero intero che rappresenta l'offset del fuso orario in minuti.
Esempio:
SELECT SYSDATETIMEOFFSET() AS 'Date/time', DATEPART(TZoffset, SYSDATETIMEOFFSET()) AS 'TZ Offset';
Risultato:
Date/time TZ Offset ---------------------------------- ----------- 2018-06-17 10:04:23.2316409 +10:00 600
È inoltre possibile utilizzare la funzione FORMAT() per restituire l'offset del fuso orario come stringa. In particolare, puoi utilizzare il z
, zz
, e/o zzz
argomenti per restituirlo nel formato richiesto.
Esempio:
SELECT SYSDATETIMEOFFSET() AS 'Date/time', FORMAT(SYSDATETIMEOFFSET(), 'zz') AS 'zz', FORMAT(SYSDATETIMEOFFSET(), 'zzz') AS 'zzz';
Risultato:
Date/time zz zzz ---------------------------------- -------------- -------------- 2018-06-17 10:27:33.7314840 +10:00 +10 +10:00
Conversione del valore di ritorno
Puoi anche usare funzioni come CONVERT()
per convertire il valore restituito in un altro tipo di dati. Ecco un esempio in cui lo converto in una data valore e un tempo valore:
SELECT CONVERT (date, SYSDATETIMEOFFSET()) AS 'Date', CONVERT (time, SYSDATETIMEOFFSET()) AS 'Time';
Risultato:
Date Time ---------- ---------------- 2018-06-17 10:08:29.6377947
Ovviamente, una volta che lo facciamo, perdiamo l'offset del fuso orario.
Vedi anche TODATETIMEOFFSET()
che ti consente di ottenere un datetimeoffset valore da un datetime2 espressione e SWITCHOFFSET()
che ti consente di modificare un fuso orario.