- Categorias:
Funções de dados semiestruturados e estruturados (Predicados de tipo)
IS_DATE , IS_DATE_VALUE¶
Retorna TRUE se o argumento VARIANT contiver um valor DATE.
IS_DATE e IS_DATE_VALUE são sinônimos.
- Consulte também:
Sintaxe¶
IS_DATE( <variant_expr> )
IS_DATE_VALUE( <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 valor DATE. Caso contrário, retorna FALSE.
Se a entrada for NULL, retorna NULL sem relatar um erro.
Exemplos¶
Retorna todos os valores DATE em uma coluna VARIANT.
Nota
O formato de saída dos valores de data é definido usando o parâmetro DATE_OUTPUT_FORMAT. A configuração padrão é YYYY-MM-DD
.
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 de DATE nos dados usando a função IS_DATE em uma cláusula WHERE. Somente o valor DATE é retornado na saída. Os valores TIME e TIMESTAMP não são retornados.
SELECT v FROM vardttm WHERE IS_DATE(v);
+--------------+
| V |
|--------------|
| "2024-02-24" |
+--------------+