Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server 2016 (13.x) и более поздних
версий База данных SQL Azure Управляемый экземпляр SQL Azure
конечную точку аналитики SQL Azure Synapse Analytics
в хранилище Microsoft Fabric
в Microsoft Fabric
Эта функция сжимает входное выражение с помощью алгоритма Gzip . Она возвращает массив байтов типа varbinary(max).
Соглашения о синтаксисе Transact-SQL
COMPRESS ( expression )
Выражение одного из следующих типов данных:
- binary(n)
- char(n)
- nchar(n)
- nvarchar(max)
- nvarchar(n)
- varbinary(max)
- varbinary(n)
- varchar(max)
- varchar(n)
Дополнительные сведения см. в статье Выражения (Transact-SQL).
varbinary(max), представляющий сжатое содержимое входных данных.
Сжатые данные не могут быть индексированы.
Функция COMPRESS
сжимает данные, предоставленные во входном выражении. Ее необходимо вызывать для каждого раздела сжимаемых данных. Дополнительные сведения о автоматическом сжатие данных во время хранения на уровне строки или страницы см. в разделе "Сжатие данных".
В этом примере показано, как сжать данные, вставляемые в таблицу.
INSERT INTO player (
name,
surname,
info
)
VALUES (
N'Ovidiu',
N'Cracium',
COMPRESS(N'{"sport":"Tennis","age": 28,"rank":1,"points":15258, turn":17}')
);
INSERT INTO player (
name,
surname,
info
)
VALUES (
N'Michael',
N'Raheem',
COMPRESS(@info)
);
Приведенная ниже инструкция сначала удаляет старые записи игроков из таблицы player
. Затем для экономии места она сохраняет их в сжатом виде в таблице inactivePlayer
.
DELETE
FROM player
OUTPUT deleted.id,
deleted.name,
deleted.surname,
deleted.datemodifier,
COMPRESS(deleted.info)
INTO dbo.inactivePlayers
WHERE datemodified < @startOfYear;