P_INTERSECT

Translation reference to convert the Teradata operator P_INTERSECT to Snowflake Scripting.

Description

According to Teradata's documentation, the P_INTERSECT operator compares two or more period expressions. If they overlap, it returns the common portion of the period expressions.

For more information regarding Teradata's P_INTERSECT, check here.

period_expression
P_INTERSECT
period_expression

The PERIOD_INTERSECT_UDF is a Snowflake implementation of the P_INTERSECT operator in Teradata.

Sample Source Pattern

Teradata

IN -> Teradata_01.sql
SELECT 
    PERIOD(DATE '2009-01-01', DATE '2010-09-24') 
    P_INTERSECT 
    PERIOD(DATE '2009-02-01', DATE '2009-06-24');

Snowflake Scripting

OUT -> Teradata_01.sql
SELECT
    PUBLIC.PERIOD_INTERSECT_UDF(ARRAY_CONSTRUCT(PUBLIC.PERIOD_UDF(DATE '2009-01-01', DATE '2010-09-24') !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!!, PUBLIC.PERIOD_UDF(DATE '2009-02-01', DATE '2009-06-24') !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!!)) !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!!;

Known Issues

1. Unsupported Period Expressions

The PERIOD(TIME WITH TIME ZONE) and PERIOD(TIMESTAMP WITH TIME ZONE) expressions are not supported yet.

  1. SSC-EWI-TD0053: Snowflake does not support the period datatype, all periods are handled as varchar instead

Last updated