Compartir vía


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.