Типы данных в Microsoft Fabric

Область применения:✅ конечная точка аналитики SQL и хранилище в Microsoft Fabric

Таблицы в Microsoft Fabric поддерживают наиболее часто используемые типы данных T-SQL.

  • Дополнительные сведения о создании таблиц см. в разделе "Таблицы".
  • Сведения о синтаксисе см. в статье CREATE TABLE

Типы данных в хранилище

Хранилище поддерживает подмножество типов данных T-SQL. Каждый предлагаемый тип данных основан на типе данных SQL Server с одинаковым именем. Дополнительные сведения см. в справочной статье для каждой из приведенных ниже таблиц.

Категория Supported data types (Azure Search) (Поддерживаемые типы данных (служба "Поиск Azure")).
Точные числовые значения
Приблизительные числовые значения
Дата и время
Строки символов фиксированной длины
Строки символов переменной длины
Двоичные строки

* Точность даты и времени ограничена 6 цифрами точности на долях секунд.

** Тип данных uniqueidentifier — это тип данных T-SQL без соответствующего типа данных в Delta Parquet. В результате он хранится в виде двоичного типа. Хранилище поддерживает хранение и чтение столбцов uniqueidentifier , но эти значения не могут быть прочитаны в конечной точке аналитики SQL. При чтении уникальных значений в lakehouse отображается двоичное представление исходных значений. В результате такие функции, как перекрестные соединения между хранилищем и конечной точкой аналитики SQL с использованием столбца uniqueidentifier , не работают должным образом.

Поддержка varchar (max) и varbinary (max) в настоящее время находится в предварительной версии.

Дополнительные сведения о поддерживаемых типах данных, включая их точность, см . в справочнике CREATE TABLE.

Неподдерживаемые типы данных

Для типов данных T-SQL, которые в настоящее время не поддерживаются, доступны некоторые варианты. Убедитесь, что вы оцениваете использование этих типов, так как точность и поведение запросов зависит:

Неподдерживаемый тип данных Доступны альтернативные варианты
деньги и небольшие деньги Используйте десятичное значение, однако обратите внимание, что он не может хранить денежный единицу.
datetime и smalldatetime Используйте datetime2.
datetimeoffset Используйте datetime2, однако для преобразования данных с помощью функции AT TIME ZONE (Transact-SQL) можно использовать datetimeoffset. Пример см. в разделе datetimeoffset.
nchar и nvarchar Используйте char и varchar соответственно, так как в Parquet нет аналогичного типа данных юникода. Типы char и varchar в сортировке UTF-8 могут использовать больше хранилища, чем nchar и nvarchar для хранения данных юникода. Чтобы понять влияние на среду, ознакомьтесь с различиями в хранилище между UTF-8 и UTF-16.
text и ntext Используйте varchar.
Изображение Используйте varbinary.
tinyint Используйте smallint.
geography Эквивалент отсутствует.

Неподдерживаемые типы данных по-прежнему можно использовать в коде T-SQL для переменных или любого использования в памяти в сеансе. Создание таблиц или представлений, сохраняющих данные на диске с любым из этих типов, запрещено.

Руководство по созданию таблицы в хранилище см. в разделе "Создание таблиц".

Автоматически созданные типы данных в конечной точке аналитики SQL

Таблицы в конечной точке аналитики SQL автоматически создаются при создании таблицы в связанном лейкхаусе. Типы столбцов в таблицах конечных точек аналитики SQL являются производными от исходных типов Delta.

Правила сопоставления исходных типов delta с типами SQL в конечной точке аналитики SQL показаны в следующей таблице:

Тип данных Delta Тип данных SQL (сопоставлен)
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) с Latin1_General_100_BIN2_UTF8 параметрами сортировки
STRING, VARCHAR(n) varchar(n) с Latin1_General_100_BIN2_UTF8 параметрами сортировки
STRING, VARCHAR(MAX) varchar(MAX) с Latin1_General_100_BIN2_UTF8 параметрами сортировки
BINARY varbinary(n)
DECIMAL, DEC, NUMERIC decimal(p,s)

Столбцы с типами, не перечисленными в таблице, не представлены в виде столбцов таблицы в конечной точке аналитики SQL.