Categorias:

Funções de contexto (General)

CURRENT_TIMESTAMP

Devolve o carimbo de data/hora atual do sistema.

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 TIME_OUTPUT_FORMAT da sessão (por exemplo, 'HH24:MI:SS.FF').

Retornos

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

Notas de uso

  • O ajuste do parâmetro de sessão TIMEZONE afeta o valor de retorno.

  • O ajuste do parâmetro TIMESTAMP_TYPE_MAPPING não afeta o valor de retorno.

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

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

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

    • Eles não oferecem suporte ao parâmetro fract_sec_precision.

    • Estas funções não podem ser chamadas sem parênteses.

Exemplos

Ajuste o formato de saída de hora como YYYY-MM-DD HH24:MI:SS.FF, depois retorne o carimbo de data/hora atual com precisão de segundos fracionários primeiro ajustado como 2, 4 e depois o padrão (9):

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

SELECT CURRENT_TIMESTAMP(2);

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

SELECT CURRENT_TIMESTAMP(4);

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

SELECT CURRENT_TIMESTAMP;

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