Categorias:

Funções de contexto (General)

SYSDATE

Retorna o carimbo de data/hora atual para o sistema, mas no fuso horário UTC.

Consulte também:

CURRENT_TIMESTAMP

Sintaxe

SYSDATE()
Copy

Argumentos

Nenhum.

Retornos

Retorna o carimbo de data/hora atual no fuso horário UTC.

O tipo de dados do valor retornado é TIMESTAMP_NTZ.

Notas de uso

  • Apesar do nome, isto retorna um TIMESTAMP_NTZ, não um DATE. Para controlar o formato de saída, use o parâmetro de sessão TIMESTAMP_NTZ_OUTPUT_FORMAT.

  • Esta função é semelhante a CURRENT_TIMESTAMP, exceto que:

    • Ele retorna o carimbo de data/hora atual no fuso horário UTC, enquanto CURRENT_TIMESTAMP retorna o carimbo de data/hora no fuso horário local.

    • Seu valor de retorno é TIMESTAMP_NTZ, enquanto CURRENT_TIMESTAMP retorna TIMESTAMP_LTZ.

    • Exige o uso de parênteses (SYSDATE()), enquanto CURRENT_TIMESTAMP pode ser chamado sem parênteses.

    • Ele não oferece suporte a um parâmetro para especificar a precisão dos segundos fracionários.

  • Não utilize o valor de retorno para ordenações de tempo precisas entre consultas simultâneas (processadas pelo mesmo warehouse virtual), pois as consultas podem ser atendidas por recursos de computação diferentes (no warehouse).

Exemplos

Ajuste o formato de saída de tempo para YYYY-MM-DD HH24:MI:SS.FF4, depois retorne SYSDATE e CURRENT_TIMESTAMP. Observe a diferença no campo das horas devido à diferença no fuso horário.

ALTER SESSION SET TIMESTAMP_NTZ_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF4';
ALTER SESSION SET TIMESTAMP_LTZ_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF4';

ALTER SESSION SET TIMEZONE = 'America/Los_Angeles';

SELECT SYSDATE(), CURRENT_TIMESTAMP();

+--------------------------+--------------------------+
| SYSDATE()                | CURRENT_TIMESTAMP()      |
|--------------------------+--------------------------|
| 2019-12-23 08:00:00.1230 | 2019-12-23 00:00:00.1230 |
+--------------------------+--------------------------+
Copy