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)

[Consulte a nota sobre esta conversão abaixo.]

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.

Precisão de 7 a 15 dígitos, float (1-24)

Armazenamento de 4 a 8 bytes, float (25-53)

INT

INT

Observe que INT no Snowflake é um alias para NUMBER(38,0)

[Consulte a nota sobre esta conversão abaixo.]

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)

[Consulte a nota sobre esta conversão abaixo.]

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 timestamp is a synonym for rowversion and stores a unique BINARY(8) value, not a date/time type. See SSC-FDM-TS0046.

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 rowversion auto-generates a unique binary value on each INSERT/UPDATE. Snowflake BINARY(8) does not replicate this behavior. See SSC-FDM-TS0046.

UNIQUEIDENTIFIER

VARCHAR

​​Snowflake uses STRING type as a synonym for VARCHAR.
Because of conversion
Snowflake often represents each byte as 2 hexadecimal characters

XML

VARIANT

​Snowflake uses VARIANT data type as a synonym for XML

SYSNAME

VARCHAR(128)

Restrição NOT NULL adicionada à definição da coluna