Types de données dans Microsoft Fabric
S’applique à : Point de terminaison et entrepôt SQL 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.
Important
Microsoft Fabric est actuellement en préversion. Certaines informations portent sur un produit en préversion susceptible d’être substantiellement modifié avant sa publication. Microsoft ne donne aucune garantie, expresse ou implicite, concernant les informations fournies ici.
Types de données dans l’entrepôt
Warehouse prend en charge un sous-ensemble de types de données T-SQL :
Catégorie | Types de données pris en charge |
---|---|
Valeurs numériques exactes |
|
Valeurs numériques approximatives |
|
Date et heure |
|
Chaînes de caractères |
|
Chaînes binaires |
|
Notes
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 Parquet. Par conséquent, il est stocké en tant que type binaire. Warehouse prend en charge le stockage et la lecture de colonnes uniqueidentifier, mais ces valeurs ne peuvent pas être lues sur le point de terminaison 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 SQL à l’aide d’une colonne uniqueidentifier ne fonctionnent pas comme prévu.
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 peuvent varier :
Type de données non pris en charge | Alternatives disponibles |
---|---|
argent et smallmoney | Utilisez decimal, mais notez qu’il ne peut pas stocker l’unité monétaire. |
Données datetime et smalldatetime (en anglais) | Utilisez datetime2. |
nchar et nvarchar | Utilisez respectivement char et varchar, car il n’existe aucun 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. |
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 SQL
Les tables dans point de terminaison 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 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 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 | ENTIER | int |
TINYINT | BYTE |SMALLINT | COURT | SMALLINT |
DOUBLE | float |
FLOAT | RÉEL | real |
DATE | Date |
TIMESTAMP | datetime2 |
CHAR(n) | varchar(n) avec Latin1_General_100_BIN2_UTF8 classement. |
CHAÎNE | VARCHAR(n) | varchar(n) avec Latin1_General_100_BIN2_UTF8 classement. STRING/VARCHAR(MAX) est mappé à varchar(8000). |
BINARY | varbinary(n). |
DECIMAL | DEC | NUMÉRIQUE | decimal(p,s) |
Les colonnes qui ont les types qui ne sont pas répertoriés dans la table ne sont pas représentées en tant que colonnes de table dans le point de terminaison SQL.