- 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:
Sintaxe¶
IS_TIMESTAMP_LTZ( <variant_expr> ) IS_TIMESTAMP_NTZ( <variant_expr> ) IS_TIMESTAMP_TZ( <variant_expr> )
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:
O parâmetro TIMESTAMP_LTZ_OUTPUT_FORMAT define o formato para valores TIMESTAMP_LTZ.
O parâmetro TIMESTAMP_NTZ_OUTPUT_FORMAT define o formato para valores TIMESTAMP_NTZ.
O parâmetro TIMESTAMP_TZ_OUTPUT_FORMAT define o formato para valores TIMESTAMP_TZ.
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);
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'));
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;
+---------------------------------+---------------+ | 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);
+---------------------------+ | 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);
+---------------------------------+ | 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);
+---------------------------------+ | V | |---------------------------------| | "2020-02-24 15:00:00.123 +0100" | +---------------------------------+