SnowConvert AI - Serveur SQL-Azure Synapse - Types de données¶
Snowflake prend en charge la plupart des types de données de base SQL (avec quelques restrictions) pour une utilisation en colonnes, variables locales, expressions, paramètres, et tout autre emplacement approprié.
Applies to
SQL Server
Azure Synapse Analytics
Numériques exacts et approximatifs¶
T-SQL |
Snowflake |
Remarques |
|---|---|---|
BIGINT |
BIGINT |
Remarque : BIGINT dans Snowflake est un alias pour NUMBER(38,0) |
BIT |
BOOLEAN |
SQLServer accepte uniquement 1, 0, ou NULL |
DECIMAL |
DECIMAL |
DECIMAL de Snowflake est synonyme de NUMBER |
FLOAT |
FLOAT |
Ce type de données se comporte de la même manière sur les deux systèmes. |
INT |
INT |
Remarque : INT dans Snowflake est un alias pour NUMBER(38,0) |
MONEY |
NUMBER(38, 4) |
[Voir la note sur cette conversion ci-dessous.] |
REAL |
REAL |
REAL de Snowflake est synonyme de FLOAT |
SMALLINT |
SMALLINT |
Ce type de données se comporte de la même manière |
SMALLMONEY |
NUMBER(38, 4) |
[Voir la note sur cette conversion ci-dessous.] |
TINYINT |
TINYINT |
Remarque : TINYINT dans Snowflake est un alias pour NUMBER(38,0) |
NUMERIC |
NUMERIC |
NUMERIC de Snowflake est synonyme de NUMBER |
NOTE:
Pour la conversion des types de données entiers (INT, SMALLINT, BIGINT, TINYINT), chacun est converti en alias dans Snowflake avec le même nom. Chacun de ces alias est en fait converti en NUMBER(38,0), un type de données considérablement plus grand que le type de données des entiers. Vous trouverez ci-dessous une comparaison de la gamme de valeurs pouvant être présentes dans chaque type de données :
Snowflake NUMBER(38,0) : -99999999999999999999999999999999999999 à +99999999999999999999999999999999999999
SQLServerTINYINT : 0 à 255
SQLServer INT : -2^31 (-2 147 483 648) à 2^31-1 (2 147 483 647)
SQLServer BIGINT : -2^63 (-9 223 372 036 854 775 808) à 2^63-1 (9 223 372 036 854 775 807)
SQLServer SMALLINT : -2^15 (-32 768) à 2^15-1 (32 767)
Pour Money et Smallmoney :
Il n’est pas nécessaire de mettre les données monétaires entre guillemets simples ( “ ). Il est important de se rappeler que si vous pouvez spécifier des valeurs monétaires précédées d’un symbole de devise, le serveur SQL ne stocke aucune information monétaire associée au symbole, il ne stocke que la valeur numérique.
Faites attention pour traduire les DMLs
Date et heure¶
T-SQL |
Snowflake |
Remarques |
|---|---|---|
DATE |
DATE |
SQLServer accepte la plage de 0001-01-01 à 9999-12-31 |
DATETIME2 |
TIMESTAMP_NTZ(7) |
DATETIME de Snowflake est un alias de TIMESTAMP_NTZ |
DATETIME |
TIMESTAMP_NTZ(3) |
DATETIME de Snowflake est un alias de TIMESTAMP_NTZ |
DATETIMEOFFSET |
TIMESTAMP_TZ(7) |
<p>La précision de l’horodatage de Snowflake est comprise entre 0 et 9 (<em>cette valeur est celle par défaut</em>)</p><p>Les opérations de Snowflake sont effectuées dans le fuseau horaire de la session en cours, contrôlé par le paramètre de session 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>Ce type de données se comporte de la même manière sur les deux systèmes.</p><p>Plage de 00:00:00.0000000 à 23:59:59.9999999</p> |
TIMESTAMP |
BINARY(8) |
SQL Server |
Chaînes de caractères¶
T-SQL |
Snowflake |
Remarques |
|---|---|---|
CHAR |
CHAR |
La taille maximale de la chaîne en octets de SQLServer est de 8 000, alors que celle de Snowflake est de 167 772 161. |
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. |
Chaînes de caractères Unicode¶
T-SQL |
Snowflake |
Remarques |
|---|---|---|
NCHAR |
NCHAR |
Synonyme de VARCHAR sauf que la longueur par défaut est 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. |
Chaînes binaires¶
T-SQL |
Snowflake |
Remarques |
|---|---|---|
BINARY |
BINARY |
Dans Snowflake, la longueur maximale est de 8 MB (8 388 608 octets) et la longueur est toujours mesurée en termes d’octets. |
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 |
Autres types de données¶
T-SQL |
Snowflake |
Remarques |
|---|---|---|
CURSOR |
*à définir |
<p>Non pris en charge par Snowflake.</p><p>Traduire dans les assistants de curseur</p> |
HIERARCHYID |
*à définir |
Non pris en charge par Snowflake |
SQL_VARIANT |
VARIANT |
<p>Taille maximale de 16 MB compressée.</p><p>Une valeur de n’importe quel type de données peut être implicitement convertie en valeur VARIANT</p> |
GEOMETRY |
*à définir |
Non pris en charge par Snowflake |
GEOGRAPHY |
GEOGRAPHY |
Les objets stockés dans le type de données GEOGRAPHY de Snowflake doivent être des objets géospatiaux WKT / WKB / EWKT / EWKB / GeoJSON pour prendre en charge les objets LineString et Polygon |
TABLE |
*à définir |
Non pris en charge par 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) |
Contrainte NOT NULL ajoutée à la définition de la colonne |