COMPRESS (Transact-SQL)
Aplica-se a: SQL Server 2016 (13.x) e posteriores Banco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPonto de extremidade de análises SQL no Microsoft FabricWarehouse no Microsoft Fabric
Essa função compacta a expressão de entrada usando o algoritmo Gzip. A função retorna uma matriz de bytes do tipo varbinary(max).
Convenções de sintaxe de Transact-SQL
Sintaxe
COMPRESS ( expression )
Argumentos
expressão
Uma expressão de um dos seguintes tipos de dados:
- binary(n)
- char(n)
- nchar(n)
- nvarchar(max)
- nvarchar(n)
- varbinary(max)
- varbinary(n)
- varchar(max)
- varchar(n)
Para obter mais informações, confira Expressões (Transact-SQL).
Tipo de retorno
varbinary(max) representa o conteúdo compactado da entrada.
Comentários
Dados compactados não podem ser indexados.
A função COMPRESS
compacta os dados de expressão de entrada. É necessário invocar essa função para cada seção de dados a ser compactada. Veja Compactação de dados para saber mais sobre a compactação de dados automática durante o armazenamento no nível de linha ou página.
Exemplos
a. Compactar dados durante a inserção de tabela
O seguinte exemplo mostra como compactar dados inseridos em uma tabela:
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)
);
B. Arquivar a versão compactada de linhas excluídas
Primeiro, essa instrução exclui registros antigos do player da tabela player
. Para economizar espaço, em seguida, armazena os registros na tabela inactivePlayer
, em um formato compactado.
DELETE
FROM player
OUTPUT deleted.id,
deleted.name,
deleted.surname,
deleted.datemodifier,
COMPRESS(deleted.info)
INTO dbo.inactivePlayers
WHERE datemodified < @startOfYear;
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de