Skip to content
Advertisement

How to Convert Array or String in Snowflake to Timestamp_NTZ

I currently have some incoming datestamps as from outside datasource, but am struggling to define them in a table through my Snowflake Tables.

The column is formatted as such: {"type":"TEXT","length":12,"byteLength":48,"nullable":true,"fixed":false}

The only current workaround I have is this convoluted code.

SELECT timestamp_ntz_from_parts(
            GET(strtok_to_array(CONCAT('20',array_to_string(
                             regexp_substr_all('220530161501', '[[:digit:]][[:digit:]]', 1, 1),',')),','),0)::DOUBLE,
                               .......);

Any suggestions to convert string to integer for timestamp?

Advertisement

Answer

Assuming the format of input ‘YYMMDDHH24MISS’ and first 22 stands for 2022:

SELECT TRY_TO_TIMESTAMP_NTZ( '220530161501', 'YYMMDDHH24MISS');

Output:

enter image description here

User contributions licensed under: CC BY-SA
1 People found this is helpful
Advertisement