Categorias:

Funções de dados semiestruturados e estruturados (Predicados de tipo)

IS_TIMESTAMP_*

Verifica se um argumento VARIANT contém o respectivo valor de carimbo de data/hora:

  • IS_TIMESTAMP_LTZ (valor com fuso horário local).

  • IS_TIMESTAMP_NTZ (valor sem fuso horário).

  • IS_TIMESTAMP_TZ (valor com fuso horário).

Consulte também:

IS_<tipo_de_objeto> , IS_DATE , IS_DATE_VALUE , IS_TIME

Sintaxe

IS_TIMESTAMP_LTZ( <variant_expr> )

IS_TIMESTAMP_NTZ( <variant_expr> )

IS_TIMESTAMP_TZ( <variant_expr> )
Copy

Argumentos

variant_expr

Uma expressão que avalia como um valor do tipo VARIANT.

Retornos

Retorna um valor BOOLEAN ou NULL.

  • Retorna TRUE se o valor VARIANT contiver um carimbo de data/hora. Caso contrário, retorna FALSE.

  • Se a entrada for NULL, retorna NULL sem relatar um erro.

Exemplos

Mostra todos os carimbos de data/hora em uma coluna VARIANT, com a saída usando o fuso horário especificado para a sessão.

Nota

O formato de saída para o fuso horário é definido usando um parâmetro:

Nestes exemplos, o fuso horário local é Horário Padrão do Pacífico US (-08:00 relativo em relação a GMT/UCT).

Crie e carregue uma tabela com vários valores de data e hora em uma coluna VARIANT:

CREATE OR REPLACE TABLE vardttm (v VARIANT);
Copy
INSERT INTO vardttm SELECT TO_VARIANT(TO_DATE('2024-02-24'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIME('20:57:01.123456789+07:00'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIMESTAMP('2023-02-24 12:00:00.456'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIMESTAMP_LTZ('2022-02-24 13:00:00.123 +01:00'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIMESTAMP_NTZ('2021-02-24 14:00:00.123 +01:00'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIMESTAMP_TZ('2020-02-24 15:00:00.123 +01:00'));
Copy

Use a função TYPEOF em uma consulta para mostrar os tipos de dados dos valores armazenados na coluna VARIANT v:

SELECT v, TYPEOF(v) AS type FROM vardttm;
Copy
+---------------------------------+---------------+
| V                               | TYPE          |
|---------------------------------+---------------|
| "2024-02-24"                    | DATE          |
| "20:57:01"                      | TIME          |
| "2023-02-24 12:00:00.456"       | TIMESTAMP_NTZ |
| "2022-02-24 04:00:00.123 -0800" | TIMESTAMP_LTZ |
| "2021-02-24 14:00:00.123"       | TIMESTAMP_NTZ |
| "2020-02-24 15:00:00.123 +0100" | TIMESTAMP_TZ  |
+---------------------------------+---------------+

Mostre os valores TIMESTAMP_NTZ nos dados usando a função IS_TIMESTAMP_NTZ em uma cláusula WHERE:

SELECT * FROM vardttm WHERE IS_TIMESTAMP_NTZ(v);
Copy
+---------------------------+
| V                         |
|---------------------------|
| "2023-02-24 12:00:00.456" |
| "2021-02-24 14:00:00.123" |
+---------------------------+

Mostre os valores TIMESTAMP_LTZ nos dados usando a função IS_TIMESTAMP_LTZ em uma cláusula WHERE:

SELECT * FROM vardttm WHERE IS_TIMESTAMP_LTZ(v);
Copy
+---------------------------------+
| V                               |
|---------------------------------|
| "2022-02-24 04:00:00.123 -0800" |
+---------------------------------+

Mostre os valores TIMESTAMP_TZ nos dados usando a função IS_TIMESTAMP_TZ em uma cláusula WHERE:

SELECT * FROM vardttm WHERE IS_TIMESTAMP_TZ(v);
Copy
+---------------------------------+
| V                               |
|---------------------------------|
| "2020-02-24 15:00:00.123 +0100" |
+---------------------------------+
OSZAR »