The unknown is a column whose type could not be resolved, it could be a timestamp, date integer, or number.
--disableDateAsTimestamp
Flag to indicate whether SYSDATE should be transformed into CURRENT_DATEorCURRENT_TIMESTAMP. This will also affect all DATE columns that will be transformed to TIMESTAMP.
Oracle
IN -> Oracle_01.sql
--Create TableCREATE TABLE times(AsTimeStamp TIMESTAMP, AsDate DATE);--Subtraction operationsSELECT AsDate - unknown FROM times, unknown_table;SELECT unknown - AsTimeStamp FROM times;SELECT AsTimeStamp - unknown FROM times;SELECT unknown - AsDate FROM times;
Snowflake
OUT -> Oracle_01.sql
--Create TableCREATE OR REPLACE TABLE times (AsTimeStamp TIMESTAMP(6),AsDate TIMESTAMP/*** SSC-FDM-OR0042 - DATE TYPE COLUMN HAS A DIFFERENT BEHAVIOR IN SNOWFLAKE. ***/)COMMENT ='{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"oracle"}}';--Subtraction operationsSELECTPUBLIC.DATEDIFF_UDF( !!!RESOLVE EWI!!! /*** SSC-EWI-OR0036 - TYPES RESOLUTION ISSUES, ARITHMETIC OPERATION '-' MAY NOT BEHAVE CORRECTLY BETWEEN DATE AND unknown ***/!!! AsDate, unknown) FROMtimes,unknown_table;SELECTPUBLIC.DATEDIFF_UDF( !!!RESOLVE EWI!!! /*** SSC-EWI-OR0036 - TYPES RESOLUTION ISSUES, ARITHMETIC OPERATION '-' MAY NOT BEHAVE CORRECTLY BETWEEN unknown AND Timestamp ***/!!! unknown, AsTimeStamp) FROMtimes;SELECTPUBLIC.DATEDIFF_UDF( !!!RESOLVE EWI!!! /*** SSC-EWI-OR0036 - TYPES RESOLUTION ISSUES, ARITHMETIC OPERATION '-' MAY NOT BEHAVE CORRECTLY BETWEEN Timestamp AND unknown ***/!!! AsTimeStamp, unknown) FROMtimes;SELECTPUBLIC.DATEDIFF_UDF( !!!RESOLVE EWI!!! /*** SSC-EWI-OR0036 - TYPES RESOLUTION ISSUES, ARITHMETIC OPERATION '-' MAY NOT BEHAVE CORRECTLY BETWEEN unknown AND DATE ***/!!! unknown, AsDate) FROMtimes;
Known Issues
1. Functional differences for timestamps
Sometimes the Snowflake value returned by the UDF may differ from the Oracle one due to the time. Consider the following example