SnowConvert AI - Oracle - Tipos de dados¶
Esta seção mostra os equivalentes entre os tipos de dados no Oracle e no Snowflake, bem como algumas observações sobre diferenças aritméticas.
Oracle |
Snowflake |
|---|---|
*Acesse o link para obter mais informações |
|
VARCHAR |
|
FLOAT |
|
FLOAT |
|
BINARY |
|
CHAR (N) |
|
VARCHAR |
|
TIMESTAMP |
|
FLOAT |
|
VARCHAR(20) |
|
VARCHAR(20) |
|
VARIANT |
|
VARCHAR |
|
BINARY |
|
NCHAR (N) |
|
VARCHAR |
|
NUMBER(p, s) |
|
VARCHAR (N) |
|
BINARY |
|
VARCHAR(18) |
|
VARCHAR (N) |
|
Atualmente incompatível |
|
*a ser definido |
|
*a ser definido |
|
VARIANT |
|
*a ser definido |
|
*a ser definido |
|
TIMESTAMP |
|
TIMESTAMP_TZ |
|
TIMESTAMP_LTZ |
|
*a ser definido |
|
VARCHAR(18) |
|
VARCHAR |
|
VARCHAR |
|
VARIANT |
Notas sobre operações aritméticas¶
Lembre-se de que toda operação realizada em tipos de dados numéricos é armazenada internamente como um número. Além disso, dependendo da operação realizada, é possível incorrer em um erro relacionado à forma como os valores intermediários são armazenados no Snowflake. Para obter mais informações, consulte esta postagem sobre números intermediários no Snowflake.
Tipos de dados de ANSI¶
Descrição¶
Instruções SQL que criam tabelas e clusters também podem usar os tipos de dados ANSI e os tipos de dados dos produtos IBM SQL/DS e DB2. A Oracle reconhece o nome do tipo de dados ANSI ou IBM que é diferente do nome do tipo de dados do Oracle Database. Ele converte o tipo de dados para o tipo de dados Oracle equivalente, registra o tipo de dados Oracle como o nome do tipo de dados da coluna e armazena os dados da coluna no tipo de dados Oracle com base nas conversões mostradas nas tabelas a seguir. (Tipos de dados ANSI, DB2 e SQL/DS da referência de linguagem Oracle).
Ao criar uma nova tabela, o Oracle e o Snowflake tratam alguns tipos de dados como sinônimos e aliases e os transformam no tipo de dados padrão. Conforme mostrado na tabela a seguir:
ANSI |
ORACLE |
SNOWFLAKE |
|---|---|---|
CHARACTER (n) |
CHAR (n) |
VARCHAR |
CHAR (n) |
CHAR (n) |
VARCHAR |
CHARACTER VARYING (n) |
VARCHAR2 (n) |
VARCHAR |
CHAR VARYING (n) |
VARCHAR2 (n) |
VARCHAR |
NATIONAL CHARACTER (n) |
NCHAR (n) |
VARCHAR* |
NATIONAL CHAR (n) |
NCHAR (n) |
VARCHAR* |
NCHAR (n) |
NCHAR (n) |
VARCHAR |
NATIONAL CHARACTER VARYING (n) |
NVARCHAR2 (n) |
VARCHAR* |
NATIONAL CHAR VARYING (n) |
NVARCHAR2 (n) |
VARCHAR* |
NCHAR VARYING (n) |
NVARCHAR2 (n) |
NUMBER (p, s) |
NUMERIC [(p, s)] |
NUMBER (p, s) |
NUMBER (p, s) |
DECIMAL [(p, s)] |
NUMBER (p, s) |
NUMBER (38) |
INTEGER |
NUMBER (38) |
NUMBER (38) |
INT |
NUMBER (38) |
NUMBER (38) |
SMALLINT |
NUMBER (38) |
NUMBER (38) |
FLOAT |
FLOAT (126) |
DOUBLE |
DOUBLE PRECISION |
FLOAT (126) |
DOUBLE |
REAL |
FLOAT (63) |
DOUBLE |
Para obter mais informações sobre a especificação de tradução dos tipos de dados Oracle, acesse Tipos de dados internos Oracle.
Nota
VARCHAR*: Quase todos os tipos de dados ANSI são compilados no Snowflake, mas aqueles marcados com um asterisco são convertidos manualmente para VARCHAR.
Problemas conhecidos¶
Não foram encontrados problemas.
Personalização do tipo de dados¶
SnowConvert AI enables Data Type Customization to specify rules for data type transformation based on data type origin and column name. This feature allows you to personalize data type conversions and set precision values more accurately during migration.
For complete documentation on configuring data type customization, including JSON structure, configuration options, and priority rules, see Data type mappings in the Oracle Conversion Settings documentation.
NUMBER to DECFLOAT Transformation¶
SnowConvert AI supports transforming Oracle NUMBER columns to Snowflake DECFLOAT data type. This is useful when you need to preserve the exact decimal precision of numeric values during migration.
When a NUMBER column is configured to be transformed to DECFLOAT:
The column data type in
CREATE TABLEstatements is transformed toDECFLOATNumeric literals in
INSERTstatements that targetDECFLOATcolumns are automatically wrapped withCAST(... AS DECFLOAT)to ensure proper data type handlingColumn references in
INSERT ... SELECTstatements are also cast appropriately
Exemplo¶
Oracle¶
Snowflake (with DECFLOAT customization for price column)¶
Nota
The TypeMappings report (TypeMappings.csv) provides a detailed view of all data type transformations applied during conversion. See TypeMappings Report for more information.