Tipos de datos en Microsoft Fabric
Se aplica a:✅ punto de conexión de análisis de SQL y Warehouse en Microsoft Fabric
Las tablas de Microsoft Fabric admiten los tipos de datos de T-SQL más usados.
- Para obtener más información sobre la creación de tablas, vea Tablas.
- Para conocer la sintaxis, consulte CREATE TABLE
Tipos de datos en Warehouse
El almacén admite un subconjunto de tipos de datos de T-SQL. Cada tipo de datos que se ofrece se basa en el tipo de datos de SQL Server con el mismo nombre. Para obtener más información, consulte el artículo de referencia de cada uno de los elementos de la tabla siguiente.
Categoría | Supported data types (Tipos de datos admitidos) |
---|---|
Valores numéricos exactos | |
Valores numéricos aproximados | |
Fecha y hora | |
Cadenas de caracteres de longitud fija | |
Cadenas de caracteres de longitud variable |
|
Cadenas binarias |
* La precisión de datetime2 y time se limita a 6 dígitos de precisión en fracciones de segundos.
** El tipo de datos uniqueidentifier es un tipo de datos T-SQL, sin un tipo de datos coincidente en Delta Parquet. Como resultado, se almacena como un tipo binario. El almacén admite el almacenamiento y la lectura de columnas uniqueidentifier, pero estos valores no se pueden leer en el punto de conexión de análisis SQL. La lectura de valores uniqueidentifier en el almacén de lago muestra una representación binaria de los valores originales. Como resultado, las características como las combinaciones cruzadas entre el punto de conexión de Warehouse y análisis SQL mediante una columna uniqueidentifier no funcionan según lo previsto.
*** La compatibilidad con varchar (max) y varbinary (max) está actualmente en versión preliminar.
Para obtener más información sobre los tipos de datos admitidos, incluidas sus precisiones, consulte tipos de datos en la referencia CREATE TABLE.
Tipos de datos no admitidos
En el caso de los tipos de datos de T-SQL que no se admiten actualmente, hay algunas alternativas disponibles. Asegúrese de evaluar el uso de estos tipos, ya que la precisión y el comportamiento de la consulta varían:
Tipo de datos no admitidos | Alternativas disponibles |
---|---|
money y smallmoney | Utilice decimales, pero tenga en cuenta que no puede almacenar unidades monetarias. |
datetime y smalldatetime | Use datetime2. |
datetimeoffset | Use datetime2, pero puede usar datetimeoffset para convertir datos con la función CAST AT TIME ZONE (Transact-SQL). Para obtener un ejemplo, consulte datetimeoffset. |
nchar y nvarchar | Usa char y varchar respectivamente, ya que no hay ningún tipo de datos unicode similar en Parquet. Los tipos char y varchar de una intercalación UTF-8 pueden usar más almacenamiento que nchar y nvarchar para almacenar datos Unicode. Para comprender el impacto en el entorno, consulte Diferencias de almacenamiento entre UTF-8 y UTF-16. |
text y ntext | Usa varchar. |
image | Usa varbinary. |
tinyint | Use smallint. |
geography | No equivalente. |
Los tipos de datos no admitidos pueden seguir utilizándose en código T-SQL para variables, o en cualquier uso en memoria en la sesión. No se permite crear tablas o vistas que conserven datos en el disco con cualquiera de estos tipos.
Para obtener una guía para crear una tabla en Warehouse, consulte Creación de tablas.
Tipos de datos generados automáticamente en el punto de conexión de análisis SQL
Las tablas del punto de conexión de análisis SQL se crean automáticamente cada vez que se crea una tabla en el lago asociado. Los tipos de columna de las tablas de punto de conexión de análisis SQL se derivan de los tipos delta de origen.
Las reglas para asignar tipos Delta originales a los tipos SQL en el punto de conexión de análisis SQL se muestran en la siguiente tabla:
Tipo de datos Delta | Tipo de datos de SQL (asignado) |
---|---|
LONG, BIGINT | bigint |
BOOLEAN, BOOL | bit |
INT, INTEGER | int |
TINYINT, BYTE, SMALLINT, SHORT | smallint |
DOUBLE | float |
FLOAT, REAL | real |
FECHA | date |
TIMESTAMP | datetime2 |
CHAR(n) | varchar(n) con intercalación Latin1_General_100_BIN2_UTF8 |
STRING, VARCHAR(n) | varchar(n) con intercalación Latin1_General_100_BIN2_UTF8 |
STRING, VARCHAR(MAX) | varchar(MAX) con intercalación Latin1_General_100_BIN2_UTF8 |
BINARY | varbinary(n) |
DECIMAL, DEC, NUMERIC | decimal(p,s) |
Las columnas que tienen los tipos que no aparecen en la tabla no se representan como columnas de tabla en el punto de conexión de análisis SQL.