COMPRESS (Transact-SQL)
Si applica a: SQL Server 2016 (13.x) e versioni successive database SQL di Azure Istanza gestita di SQL di Azure endpoint di analisi SQL di Azure Synapse Analytics in Microsoft Fabric Warehouse in Microsoft Fabric
Questa funzione comprime l'espressione di input usando l'algoritmo Gzip . La funzione restituisce una matrice di byte di tipo varbinary (max).
Convenzioni relative alla sintassi Transact-SQL
Sintassi
COMPRESS ( expression )
Argomenti
expression
Espressione di uno dei tipi di dati seguenti:
- binary(n)
- char(n)
- nchar(n)
- nvarchar(max)
- nvarchar(n)
- varbinary(max)
- varbinary(n)
- varchar(max)
- varchar(n)
Per altre informazioni, vedere Espressioni (Transact-SQL).
Tipo restituito
varbinary(max), che rappresenta il contenuto compresso dell'input.
Osservazioni:
I dati compressi non possono essere indicizzati.
La funzione COMPRESS
comprime i dati di espressione dell'input. Richiamare questa funzione per ogni sezione di dati da comprimere. Per altre informazioni sulla compressione automatica dei dati durante l'archiviazione a livello di riga o di pagina, vedere Compressione dei dati.
Esempi
R. Comprimere i dati durante l'inserimento di tabelle
L'esempio illustra come comprimere i dati inseriti in una tabella:
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. Archiviare la versione compressa di righe eliminate
Questa istruzione elimina i record obsoleti Player (Giocatore) dalla tabella player
, dopo di ché, per risparmiare spazio, archivia i record nella tabella inactivePlayer
usando un formato compresso.
DELETE
FROM player
OUTPUT deleted.id,
deleted.name,
deleted.surname,
deleted.datemodifier,
COMPRESS(deleted.info)
INTO dbo.inactivePlayers
WHERE datemodified < @startOfYear;