Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : SQL Server 2016 (13.x) et versions
ultérieures d’Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics SQL Analytics
dans Microsoft Fabric
Warehouse dans microsoft Fabric
SQL Database dans Microsoft Fabric SQL Database dans Microsoft Fabric
Cette fonction compresse l’expression d’entrée à l’aide de l’algorithme Gzip. La fonction retourne un tableau d’octets de type varbinary(max).
Conventions de la syntaxe Transact-SQL
Syntaxe
COMPRESS ( expression )
Arguments
expression
Une expression de l’un des types de données suivants :
- binary(n)
- char(n)
- nchar(n)
- nvarchar(max)
- nvarchar(n)
- varbinary(max)
- varbinary(n)
- varchar(max)
- varchar(n)
Pour plus d’informations, consultez Expressions.
Types de retour
varbinary(max) représentant le contenu compressé de l’entrée.
Remarques
Les données compressées ne peuvent pas être indexées.
La fonction COMPRESS compresse les données d’expression d’entrée. Vous devez appeler cette fonction pour chaque section de données à compresser. Pour plus d’informations sur la compression automatique des données pendant le stockage au niveau de la ligne ou de la page, consultez compression des données.
Exemples
R. Compresser des données durant l’insertion de tables
Cet exemple montre comment compresser les données insérées dans une table :
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. Archiver la version compressée des lignes supprimées
Cette instruction commence par supprimer les anciens enregistrements de lecteur de la table player. Pour gagner de l’espace, elle stocke les enregistrements dans la table inactivePlayer, dans un format compressé.
DELETE FROM player
OUTPUT
deleted.id,
deleted.name,
deleted.surname,
deleted.datemodifier,
COMPRESS(deleted.info)
INTO dbo.inactivePlayers
WHERE datemodified < @startOfYear;