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 não afeta o valor de retorno.

  • 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 o padrão ANSI, esta função pode ser chamada sem parênteses em instruções SQL.

    Entretanto, se você estiver configurando uma variável Snowflake Scripting para uma expressão que chama a função (por exemplo, my_var := CURRENT_TIMESTAMP();), é necessário incluir os parênteses. Para obter mais informações, consulte as notas de uso para funções de contexto.

  • 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)   |
|------------------------|
| 2024-04-17 15:41:38.29 |
+------------------------+

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)     |
|--------------------------|
| 2024-04-17 15:42:14.2100 |
+--------------------------+

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             |
|-------------------------------|
| 2024-04-17 15:42:55.130000000 |
+-------------------------------+