Categorias:

Funções de contexto (General)

CURRENT_TIMESTAMP

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

Aliases:

LOCALTIMESTAMP , GETDATE , SYSTIMESTAMP

Sintaxe

CURRENT_TIMESTAMP( [ <fract_sec_precision> ] )

CURRENT_TIMESTAMP
Copy

Argumentos

fract_sec_precision

Este argumento opcional indica a precisão com que se deve reportar o tempo. Por exemplo, um valor de 3 diz para usar 3 dígitos após o ponto decimal (ou seja, para especificar o tempo com uma precisão de milissegundos).

A precisão padrão é 9 (nanossegundos).

Os valores válidos variam de 0 - 9. Entretanto, a maioria das plataformas não oferece suporte à verdadeira precisão de nanossegundos; a precisão que você obtém pode ser menor do que a precisão especificada. Na prática, a precisão é normalmente de aproximadamente milissegundos (3 dígitos), no máximo.

Nota

Os segundos fracionários só são exibidos se tiverem sido explicitamente definidos no parâmetro TIMESTAMP_OUTPUT_FORMAT da sessão (por exemplo, 'YYYY-MM-DD HH24:MI:SS.FF').

Retornos

Retorna a hora atual do sistema. O tipo de dados do valor retornado é TIMESTAMP_LTZ.

Notas de uso

  • O ajuste do parâmetro TIMEZONE afeta o valor de retorno. O carimbo de data/hora retornado está no fuso horário da sessão.

  • O ajuste do parâmetro TIMESTAMP_TYPE_MAPPING afeta o valor de retorno. O carimbo de data/hora retornado está no tipo de carimbo de data/hora da sessão.

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

  • Para cumprir as normas ANSI, esta função pode ser chamada sem parênteses.

  • Os alias SYSTIMESTAMP e GETDATE diferem de CURRENT_TIMESTAMP nas seguintes formas:

    • Eles não oferecem suporte ao argumento fract_sec_precision.

    • Essas funções devem ser chamadas entre parênteses.

Exemplos

Ajuste o formato de saída de hora para YYYY-MM-DD HH24:MI:SS.FF:

ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF';
Copy

Retorne o carimbo de data/hora atual com precisão de segundos fracionários definida como 2:

SELECT CURRENT_TIMESTAMP(2);
Copy
+------------------------+
| CURRENT_TIMESTAMP(2)   |
|------------------------|
| 2017-04-26 22:37:22.83 |
+------------------------+

Retorne o carimbo de data/hora atual com precisão de segundos fracionários definida como 4:

SELECT CURRENT_TIMESTAMP(4);
Copy
+--------------------------+
| CURRENT_TIMESTAMP(4)     |
|--------------------------|
| 2017-04-26 22:37:25.3530 |
+--------------------------+

Retorne o carimbo de data/hora atual com precisão de segundos fracionários definida como padrão (9):

SELECT CURRENT_TIMESTAMP;
Copy
+-------------------------------+
| CURRENT_TIMESTAMP             |
|-------------------------------|
| 2017-04-26 22:37:28.188000000 |
+-------------------------------+