Categories:

Semi-structured and structured data functions (Type Predicates)

IS_TIME¶

Verifies whether a VARIANT argument contains a TIME value.

See also:

IS_<object_type> , IS_DATE , IS_DATE_VALUE , IS_TIMESTAMP_*

Syntax¶

IS_TIME( <variant_expr> )
Copy

Arguments¶

variant_expr

An expression that evaluates to a value of type VARIANT.

Returns¶

Returns a BOOLEAN value or NULL.

  • Returns TRUE if the VARIANT value contains a TIME value. Otherwise, returns FALSE.

  • If the input is NULL, returns NULL without reporting an error.

Examples¶

Return all of the TIME values in a VARIANT column.

Note

The output format for TIME values is set using the TIME_OUTPUT_FORMAT parameter. The default setting is HH24:MI:SS.

Create and load a table with various date and TIME values in a VARIANT column:

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 the TYPEOF function in a query to show the data types of the values stored in the VARIANT column 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  |
+---------------------------------+---------------+

Show the TIME values in the data by using the IS_TIME function in a WHERE clause. Only the TIME value is returned in the output. The DATE and TIMESTAMP values aren’t returned.

SELECT v FROM vardttm WHERE IS_TIME(v);
Copy
+------------+
| V          |
|------------|
| "20:57:01" |
+------------+