Mapping
The following tables explain how Oracle source datatypes are mapped to each target database. Wirekite extracts data from Oracle, converts it to an internal type representation, then maps to the appropriate target type.Numeric Types
| Oracle | PostgreSQL | MySQL | SQL Server | Firebolt | Snowflake | Spanner | BigQuery | SingleStore | Databricks |
|---|---|---|---|---|---|---|---|---|---|
NUMBER | numeric | NUMERIC | NUMERIC | NUMERIC | number | NUMERIC | NUMERIC | NUMERIC | DECIMAL |
FLOAT | double precision | DOUBLE | FLOAT | DOUBLE | float | FLOAT64 | FLOAT64 | DOUBLE | DOUBLE |
BINARY_FLOAT | real | FLOAT | REAL | DOUBLE | float | FLOAT32 | FLOAT64 | FLOAT | FLOAT |
BINARY_DOUBLE | double precision | DOUBLE | FLOAT | DOUBLE | float | FLOAT64 | FLOAT64 | DOUBLE | DOUBLE |
Date and Time Types
| Oracle | PostgreSQL | MySQL | SQL Server | Firebolt | Snowflake | Spanner | BigQuery | SingleStore | Databricks |
|---|---|---|---|---|---|---|---|---|---|
DATE | timestamp without time zone | DATETIME(6) | DATETIME2 | TIMESTAMP | timestamp_ntz | TIMESTAMP | DATETIME | DATETIME(6) | TIMESTAMP |
TIMESTAMP | timestamp without time zone | DATETIME(6) | DATETIME2 | TIMESTAMP | timestamp_ntz | TIMESTAMP | DATETIME | DATETIME(6) | TIMESTAMP_NTZ |
TIMESTAMP WITH TIME ZONE | timestamp with time zone | VARCHAR(32) | VARCHAR(32) | TIMESTAMPTZ | timestamp_tz | STRING | TIMESTAMP | VARCHAR(32) | TIMESTAMP |
TIMESTAMP WITH LOCAL TIME ZONE | varchar(64) | DATETIME(6) | VARCHAR(32) | TIMESTAMP | timestamp_ltz | STRING | STRING | DATETIME(6) | STRING |
INTERVAL YEAR TO MONTH | interval | VARCHAR(64) | VARCHAR(64) | TEXT | varchar(64) | STRING | STRING | VARCHAR(64) | STRING |
INTERVAL DAY TO SECOND | interval | VARCHAR(64) | VARCHAR(64) | TEXT | varchar(64) | STRING | STRING | VARCHAR(64) | STRING |
Character Types
| Oracle | PostgreSQL | MySQL | SQL Server | Firebolt | Snowflake | Spanner | BigQuery | SingleStore | Databricks |
|---|---|---|---|---|---|---|---|---|---|
CHAR | character | CHAR | CHAR | TEXT | varchar | STRING | STRING | CHAR | STRING |
NCHAR | character | CHAR | NCHAR | TEXT | varchar | STRING | STRING | CHAR | STRING |
VARCHAR2 | character varying | VARCHAR | VARCHAR | TEXT | varchar | STRING | STRING | VARCHAR | STRING |
NVARCHAR2 | character varying | VARCHAR | NVARCHAR | TEXT | varchar | STRING | STRING | VARCHAR | STRING |
CLOB | text | LONGTEXT | VARCHAR(MAX) | TEXT | varchar | STRING | STRING | LONGTEXT | STRING |
NCLOB | text | LONGTEXT | NVARCHAR(MAX) | TEXT | varchar | STRING | STRING | LONGTEXT | STRING |
Binary Types
| Oracle | PostgreSQL | MySQL | SQL Server | Firebolt | Snowflake | Spanner | BigQuery | SingleStore | Databricks |
|---|---|---|---|---|---|---|---|---|---|
RAW | bytea | VARBINARY | VARBINARY | BYTEA | binary | BYTES | BYTES | VARBINARY | BINARY |
BLOB | bytea | BLOB | VARBINARY(MAX) | BYTEA | binary | BYTES | BYTES | BLOB | BINARY |
Other Types
| Oracle | PostgreSQL | MySQL | SQL Server | Firebolt | Snowflake | Spanner | BigQuery | SingleStore | Databricks |
|---|---|---|---|---|---|---|---|---|---|
XMLTYPE | xml | TEXT | XML | TEXT | varchar | STRING | STRING | TEXT | STRING |
JSON | jsonb | JSON | VARCHAR(MAX) | TEXT | varchar | JSON | JSON | JSON | STRING |
ROWID | varchar(4000) | VARCHAR(4000) | VARCHAR(4000) | TEXT | varchar(4000) | STRING | STRING | VARCHAR(4000) | STRING |
UROWID | varchar(4000) | VARCHAR(4000) | VARCHAR(4000) | TEXT | varchar(4000) | STRING | STRING | VARCHAR(4000) | STRING |
(Any other type) | varchar(4000) | VARCHAR(4000) | VARCHAR(4000) | TEXT | varchar(4000) | STRING | STRING | VARCHAR(4000) | STRING |
