COMPRESS (Transact-SQL)
Si applica a: SQL Server 2016 (13.x) e Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Endpoint di analisi SQL 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;