No SQL Server, o transact-sql
SYSDATETIMEOFFSET() a função retorna um datetimeoffset(7) valor que contém a data e hora do computador no qual a instância do SQL Server está sendo executada. Esse valor inclui o deslocamento de fuso horário. Exemplos de uso abaixo.
Sintaxe
A sintaxe fica assim:
SYSDATETIMEOFFSET ( )
Então você simplesmente chama a função sem nenhum argumento.
Exemplo
Segue um exemplo básico:
SELECT SYSDATETIMEOFFSET() AS Result;
Resultado:
Result ---------------------------------- 2018-06-17 09:55:27.3221853 +10:00
Extrair o deslocamento de fuso horário
Você pode usar o
DATEPART() função para retornar o deslocamento de fuso horário. Esta função retorna um inteiro que representa o deslocamento do fuso horário em minutos. Exemplo:
SELECT
SYSDATETIMEOFFSET() AS 'Date/time',
DATEPART(TZoffset, SYSDATETIMEOFFSET()) AS 'TZ Offset'; Resultado:
Date/time TZ Offset ---------------------------------- ----------- 2018-06-17 10:04:23.2316409 +10:00 600
Você também pode usar a função FORMAT() para retornar o deslocamento de fuso horário como uma string. Especificamente, você pode usar o
z , zz , e/ou zzz argumentos para devolvê-lo no formato necessário. Exemplo:
SELECT
SYSDATETIMEOFFSET() AS 'Date/time',
FORMAT(SYSDATETIMEOFFSET(), 'zz') AS 'zz',
FORMAT(SYSDATETIMEOFFSET(), 'zzz') AS 'zzz'; Resultado:
Date/time zz zzz ---------------------------------- -------------- -------------- 2018-06-17 10:27:33.7314840 +10:00 +10 +10:00
Conversão do valor de retorno
Você também pode usar funções como
CONVERT() para converter o valor de retorno em outro tipo de dados. Aqui está um exemplo em que eu converto em uma data valor e um tempo valor:SELECT
CONVERT (date, SYSDATETIMEOFFSET()) AS 'Date',
CONVERT (time, SYSDATETIMEOFFSET()) AS 'Time'; Resultado:
Date Time ---------- ---------------- 2018-06-17 10:08:29.6377947
Claro, uma vez que fazemos isso, perdemos o deslocamento de fuso horário.
Veja também
TODATETIMEOFFSET() que permite obter um deslocamento de data e hora valor de um datetime2 expressão e SWITCHOFFSET() que permite alterar um deslocamento de fuso horário.