Funções de contexto

Essa família de funções permite coletar informações sobre o contexto em que a instrução é executada. Essas funções são avaliadas no máximo uma vez por instrução.

Neste tópico:

Lista de funções

Subcategoria

Função

Notas

Contexto geral

CURRENT_CLIENT

CURRENT_DATE

CURRENT_IP_ADDRESS

CURRENT_REGION

CURRENT_TIME

CURRENT_TIMESTAMP

CURRENT_VERSION

GETDATE

Alias para CURRENT_TIMESTAMP.

LOCALTIME

Alias para CURRENT_TIME.

LOCALTIMESTAMP

Alias para CURRENT_TIMESTAMP.

SYSDATE

SYSTIMESTAMP

Contexto de sessão

ALL_USER_NAMES

CURRENT_ACCOUNT

Retorna o localizador de conta.

CURRENT_ACCOUNT_NAME

Retorna o nome da conta.

CURRENT_ORGANIZATION_NAME

CURRENT_ROLE

CURRENT_AVAILABLE_ROLES

CURRENT_SECONDARY_ROLES

CURRENT_SESSION

CURRENT_STATEMENT

CURRENT_TRANSACTION

CURRENT_USER

GETVARIABLE

LAST_QUERY_ID

LAST_TRANSACTION

Contexto do objeto de sessão

CURRENT_DATABASE

CURRENT_ROLE_TYPE

CURRENT_SCHEMA

CURRENT_SCHEMAS

CURRENT_WAREHOUSE

INVOKER_ROLE

INVOKER_SHARE

IS_DATABASE_ROLE_IN_SESSION

IS_GRANTED_TO_INVOKER_ROLE

IS_ROLE_IN_SESSION

POLICY_CONTEXT

Contexto de alerta

GET_CONDITION_QUERY_UUID

Notas de uso

  • As funções de contexto geralmente não requerem argumentos.

  • Para cumprir as normas ANSI, as seguintes funções de contexto podem ser chamadas sem parênteses:

    • CURRENT_DATE

    • CURRENT_TIME

    • CURRENT_TIMESTAMP

    • CURRENT_USER

    • LOCALTIME

    • LOCALTIMESTAMP

Exemplos

Exibir o warehouse, banco de dados e esquema atuais para a sessão:

SELECT CURRENT_WAREHOUSE(), CURRENT_DATABASE(), CURRENT_SCHEMA();

---------------------+--------------------+------------------+
 CURRENT_WAREHOUSE() | CURRENT_DATABASE() | CURRENT_SCHEMA() |
---------------------+--------------------+------------------+
 MY_WAREHOUSE        | MY_DB              | PUBLIC           |
---------------------+--------------------+------------------+
Copy

Mostrar a data, hora e carimbo de data/hora atuais (observe que não é necessário usar parênteses para chamar essas funções):

SELECT CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP;

--------------+--------------+---------------------------------+
 CURRENT_DATE | CURRENT_TIME |        CURRENT_TIMESTAMP        |
--------------+--------------+---------------------------------+
 2015-04-28   | 17:43:46     | Tue, 28 Apr 2015 17:43:46 -0700 |
--------------+--------------+---------------------------------+
Copy