Condividi tramite


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;

Vedi anche