Types de données dans Microsoft Fabric
S’applique à :✅ point de terminaison d’analytique SQL et Warehouse dans Microsoft Fabric
Les tables dans Microsoft Fabric prennent en charge les types de données T-SQL les plus couramment utilisés.
- Pour plus d’informations sur la création de tables, consultez Tables.
- Les types de données pris en charge par l’entrepôt sont différents des types de données pris en charge par la base de données SQL dans Fabric.
- Pour la syntaxe, consultez CREATE TABLE
Types de données dans l’entrepôt
Warehouse prend en charge un sous-ensemble de types de données T-SQL. Chaque type de données proposé est basé sur le type de données SQL Server du même nom. Pour plus d’informations, consultez l’article de référence pour chacun dans le tableau suivant.
Catégorie | Types de données prises en charge |
---|---|
Valeurs numériques exactes | |
Valeurs numériques approximatives | |
Date et heure | |
Chaînes de caractères de longueur fixe | |
Chaînes de caractères de longueur variable |
|
Chaînes binaires |
* La précision pour datetime2 et time est limitée à 6 chiffres de précision sur des fractions de secondes.
** Le type de données uniqueidentifier est un type de données T-SQL, sans type de données correspondant dans Delta Parquet. Par conséquent, il est stocké en tant que type binaire. L’entrepôt prend en charge le stockage et la lecture de colonnes uniqueidentifier, mais ces valeurs ne peuvent pas être lues sur le point de terminaison d’analytique SQL. La lecture des valeurs uniqueidentifier dans le lakehouse affiche une représentation binaire des valeurs d’origine. Par conséquent, les fonctionnalités telles que les jointures croisées entre l’entrepôt et le point de terminaison d’analytique SQL à l’aide d’une colonne uniqueidentifier ne fonctionnent pas comme prévu.
La prise en charge de varchar (max) et varbinary (max) est actuellement en préversion.
Pour plus d’informations sur les types de données pris en charge, y compris leurs précisions, consultez types de données dans la référence CREATE TABLE.
Types de données non pris en charge
Pour les types de données T-SQL qui ne sont actuellement pas pris en charge, certaines alternatives sont disponibles. Veillez à évaluer l’utilisation de ces types, car la précision et le comportement des requêtes varient :
Type de données non pris en charge | Alternatives disponibles |
---|---|
money et smallmoney | Utilisez decimal, mais notez qu’il ne peut pas stocker l’unité monétaire. |
datetime et smalldatetime | Utilisez datetime2. |
datetimeoffset | Utilisez datetime2, mais vous pouvez utiliser datetimeoffset pour convertir des données avec CAST pour la fonction AT TIME ZONE (Transact-SQL). Pour un exemple, consultez datetimeoffset. |
nchar et nvarchar | Utilisez respectivement char et varchar, car il n’existe pas de type de données unicode similaire dans Parquet. Les types char et varchar dans un classement UTF-8 peuvent utiliser plus de stockage que nchar et nvarchar pour stocker des données unicode. Pour comprendre l’impact sur votre environnement, consultez Différences de stockage entre UTF-8 et UTF-16. |
text et ntext | Utilisez varchar. |
image | Utilisez varbinary. |
tinyint | Utiliser smallint. |
Geography | Aucun équivalent. |
Les types de données non pris en charge peuvent toujours être utilisés dans le code T-SQL pour les variables, ou toute utilisation en mémoire dans la session. La création de tables ou de vues qui conservent des données sur le disque avec l’un de ces types n’est pas autorisée.
Pour obtenir un guide de création d’une table dans Warehouse, consultez Créer des tables.
Types de données générés automatiquement dans le point de terminaison d’analytique SQL
Les tables du point de terminaison d’analytique SQL sont automatiquement créées chaque fois qu’une table est créée dans le Lakehouse associé. Les types de colonnes dans les tables de point de terminaison d’analytique SQL sont dérivés des types Delta sources.
Les règles de mappage des types Delta d’origine aux types SQL dans le point de terminaison d’analytique SQL sont présentées dans le tableau suivant :
Type de données Delta | Type de données SQL (mappé) |
---|---|
LONG, BIGINT | bigint |
BOOLEAN, BOOL | bit |
INT, INTEGER | int |
TINYINT, BYTE, SMALLINT, SHORT | smallint |
DOUBLE | float |
FLOAT, REAL | real |
DATE | date |
TIMESTAMP | datetime2 |
CHAR(n) | varchar(n) avec classement Latin1_General_100_BIN2_UTF8 |
STRING, VARCHAR(n) | varchar(n) avec classement Latin1_General_100_BIN2_UTF8 |
STRING, VARCHAR(MAX) | varchar(MAX) avec Latin1_General_100_BIN2_UTF8 collation |
BINARY | varbinary(n) |
DECIMAL, DEC, NUMERIC | decimal(p,s) |
Les colonnes dont les types ne sont pas listés dans la table ne sont pas représentées en tant que colonnes de table dans le point de terminaison d’analytique SQL.