COMPRESS (Transact-SQL)
Gilt für: SQL Server 2016 (13.x) und höherAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsSQL Analytics-Endpunkt in Microsoft FabricWarehouse in Microsoft Fabric
Diese Funktion komprimiert den Eingabeausdruck mithilfe des Gzip-Algorithmus. Die Funktion gibt ein Bytearray vom Typ varbinary(max) zurück.
Transact-SQL-Syntaxkonventionen
Syntax
COMPRESS ( expression )
Argumente
expression
Ein Ausdruck mit einem der folgenden Datentypen:
- binary(n)
- char(n)
- nchar(n)
- nvarchar(max)
- nvarchar(n)
- varbinary(max)
- varbinary(n)
- varchar(max)
- varchar(n)
Weitere Informationen finden Sie unter Ausdrücke (Transact-SQL).
Rückgabetyp
varbinary(max), stellt den komprimierten Inhalt der Eingabe dar.
Bemerkungen
Komprimierte Daten können nicht indiziert werden.
Die COMPRESS
-Funktion komprimiert die Ausdrucksdaten der Eingabe. Sie müssen diese Funktion aufrufen, damit jeder Datenabschnitt komprimiert wird. Weitere Informationen zur automatischen Datenkomprimierung während der Speicherung auf Zeilen- oder Seitenebene finden Sie unter Datenkomprimierung.
Beispiele
A. Komprimieren von Daten während des Tabelleneinfügevorgangs
Dieses Beispiel zeigt, wie Daten aus einer Tabelle komprimiert werden können, die in einer Tabelle enthalten sind:
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. Archivieren einer komprimierten Version von gelöschten Zeilen
Diese Anweisung löscht zunächst ältere Spielerdaten aus der player
-Tabelle. Die Datensätze werden dann in der inactivePlayer
-Tabelle in einem komprimierten Format gespeichert, um Speicherplatz zu sparen.
DELETE
FROM player
OUTPUT deleted.id,
deleted.name,
deleted.surname,
deleted.datemodifier,
COMPRESS(deleted.info)
INTO dbo.inactivePlayers
WHERE datemodified < @startOfYear;
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für