SnowConvert AI - Servidor SQL - Azure Synapse - Tipos de dados¶
O Snowflake oferece suporte à maioria dos tipos de dados SQL básicos (com algumas restrições) para uso em colunas, variáveis locais, expressões, parâmetros e quaisquer outros locais apropriados/adequados.
Applies to
SQL Server
Azure Synapse Analytics
Números exatos e aproximados¶
T-SQL |
Snowflake |
Notas |
|---|---|---|
BIGINT |
BIGINT |
Observe que BIGINT no Snowflake é um alias para NUMBER(38,0) |
BIT |
BOOLEAN |
SQLServer só aceita 1, 0 ou NULL |
DECIMAL |
DECIMAL |
O DECIMAL do Snowflake é sinônimo de NUMBER |
FLOAT |
FLOAT |
Este tipo de dados se comporta igualmente em ambos os sistemas. |
INT |
INT |
Observe que INT no Snowflake é um alias para NUMBER(38,0) |
MONEY |
NUMBER(38, 4) |
[Consulte a nota sobre esta conversão abaixo.] |
REAL |
REAL |
O REAL do Snowflake é sinônimo de FLOAT |
SMALLINT |
SMALLINT |
Este tipo de dados se comporta igualmente |
SMALLMONEY |
NUMBER(38, 4) |
[Consulte a nota sobre esta conversão abaixo.] |
TINYINT |
TINYINT |
Observe que TINYINT no Snowflake é um alias para NUMBER(38,0) |
NUMERIC |
NUMERIC |
O NUMERIC do Snowflake é sinônimo de NUMBER |
NOTE:
Para a conversão de tipos de dados inteiros (INT, SMALLINT, BIGINT, TINYINT), cada um é convertido para o alias no Snowflake com o mesmo nome. Cada um desses aliases é, na verdade, convertido para NUMBER(38,0), um tipo de dados consideravelmente maior do que o tipo de dados inteiro. Abaixo está uma comparação do intervalo de valores que podem estar presentes em cada tipo de dados:
Snowflake NUMBER(38,0): -99999999999999999999999999999999999999 a +99999999999999999999999999999999999999
SQLServerTINYINT: 0 a 255
SQLServer INT: -2^31 (-2.147.483.648) a 2^31-1 (2.147.483.647)
SQLServer BIGINT: -2^63 (-9.223.372.036.854.775.808) a 2^63-1 (9.223.372.036.854.775.807)
SQLServer SMALLINT: -2^15 (-32.768) a 2^15-1 (32.767)
Para Money e Smallmoney:
Os dados monetários ou de moeda não precisam ser colocados entre aspas simples ( “ ). É importante lembrar que, embora você possa especificar valores monetários precedidos por um símbolo de moeda, o SQL Server não armazena nenhuma informação de moeda associada ao símbolo, apenas o valor numérico.
Tome cuidado com as conversões para DMLs
Data e hora¶
T-SQL |
Snowflake |
Notas |
|---|---|---|
DATE |
DATE |
O SQLServer aceita o intervalo de 0001-01-01 a 9999-12-31 |
DATETIME2 |
TIMESTAMP_NTZ(7) |
DATETIME Do Snowflake é um alias para TIMESTAMP_NTZ |
DATETIME |
TIMESTAMP_NTZ(3) |
DATETIME Do Snowflake é um alias para TIMESTAMP_NTZ |
DATETIMEOFFSET |
TIMESTAMP_TZ(7) |
<p>A precisão do carimbo de data/hora do Snowflake varia de 0 a 9 (<em>esse valor é o padrão</em>)</p><p>As operações do Snowflake são realizadas no fuso horário da sessão atual, controlado pelo parâmetro de sessão TIMEZONE</p> |
SMALLDATETIME |
TIMESTAMP_NTZ |
Snowflake’s DATETIME truncates the TIME information That is, 1955-12-13 12:43:10 is saved as 1955-12-13 |
TIME |
TIME |
<p>Esse tipo de dados se comporta igualmente em ambos os sistemas.</p><p>Intervalo de 00:00:00.0000000 a 23:59:59.9999999</p> |
TIMESTAMP |
BINARY(8) |
SQL Server |
Cadeias de caracteres¶
T-SQL |
Snowflake |
Notas |
|---|---|---|
CHAR |
CHAR |
O tamanho máximo da cadeia de caracteres do SQLServer em bytes é 8000, enquanto no Snowflake é 167772161. |
TEXT |
TEXT |
|
VARCHAR |
VARCHAR |
SQLServer’s max string size in bytes is 8000 whereas Snowflake is 167772161. SQLServer’s VARCHAR(MAX) has no equivalent in Snowflake, it is converted to VARCHAR to take the largest possible size by default. |
Cadeias de caracteres Unicode¶
T-SQL |
Snowflake |
Notas |
|---|---|---|
NCHAR |
NCHAR |
Sinônimo de VARCHAR, exceto que o comprimento padrão é VARCHAR(1). |
NTEXT |
TEXT |
Snowflake uses TEXT data type as a synonym for VARCHAR SQLServer’s NTEXT(MAX) has no equivalent in Snowflake, it is converted to VARCHAR to take the largest possible size by default. |
NVARCHAR |
VARCHAR |
Snowflake uses this data type as a synonym for VARCHAR SQLServer’s NVARCHAR(MAX) has no equivalent in Snowflake, it is converted to VARCHAR to take the largest possible size by default. |
Cadeias de caracteres binárias¶
T-SQL |
Snowflake |
Notas |
|---|---|---|
BINARY |
BINARY |
No Snowflake, o comprimento máximo é 8 MB (8.388.608 bytes) e o comprimento é sempre medido em termos de bytes. |
VARBINARY |
VARBINARY |
Snowflake uses this data type as a synonym for BINARY. Snowflake often represents each byte as 2 hexadecimal characters |
IMAGE |
VARBINARY |
Snowflake uses this data type as a synonym for BINARY. Snowflake often represents each byte as 2 hexadecimal characters |
Outros tipos de dados¶
T-SQL |
Snowflake |
Notas |
|---|---|---|
CURSOR |
*a ser definido |
<p>Não é suportado pelo Snowflake.</p><p>Converta para auxiliares Cursor</p> |
HIERARCHYID |
*a ser definido |
Não suportado pelo Snowflake |
SQL_VARIANT |
VARIANT |
<p>Tamanho máximo de 16 MB compactado.</p><p>Um valor de qualquer tipo de dados pode ser implicitamente convertido em um valor VARIANT</p> |
GEOMETRY |
*a ser definido |
Não suportado pelo Snowflake |
GEOGRAPHY |
GEOGRAPHY |
Os objetos armazenados no tipo de dados GEOGRAPHY do Snowflake devem ser objetos geoespaciais WKT / WKB / EWKT / EWKB / GeoJSON para suportar objetos LineString e polígonos |
TABLE |
*a ser definido |
Não suportado pelo Snowflake |
ROWVERSION |
BINARY(8) |
SQL Server |
UNIQUEIDENTIFIER |
VARCHAR |
Snowflake uses STRING type as a synonym for VARCHAR. |
XML |
VARIANT |
Snowflake uses VARIANT data type as a synonym for XML |
SYSNAME |
VARCHAR(128) |
Restrição NOT NULL adicionada à definição da coluna |