funzione compress()

La funzione 'compress() comprime un valore varchar o nvarchar utilizzando la libreria software zlib di origine pubblica. La libreria zlib utilizza l'algoritmo di compressione DEFLATE, una variante di Lempel-Ziv 1977LZ77).

La compressione è il processo di codifica dei dati in modo che utilizzino meno bit. Ad esempio, la compressione sostituisce le istanze di caratteri contigui e ripetuti con un singolo carattere e un conteggio. È necessario decomprimere i dati compressi prima di poterli utilizzare.

Importante: per elaborare i valori nvarchar, si deve usare la funzione 'compress_nvarchar() invece della funzione 'compress() e la funzione 'decompress_nvarchar() invece della funzione 'decompress(). La funzione 'compress() rimane per compatibilità con le versioni e i risultati precedenti, ma le tabelle e le viste che memorizzano i valori della funzione 'compress('NVARCHAR') potrebbero incontrare problemi durante i caricamenti e le operazioni di GENERAZIONE DI STATISTICHE.

Sintassi

La funzione " compress() ha la seguente sintassi:
varchar = compress(varchar input[, int level]);
nvarchar = compress(nvarchar input[, int level]);

Il valore 'input specifica il valore varchar o nvarchar da comprimere.

Il valore " level specifica il livello di compressione utilizzato. Può essere compreso tra 0 e 9, con 0 che indica la minore compressione e 9 che indica la maggiore compressione. L'impostazione predefinita è 6. L'aumento del livello di compressione aumenta il tempo di elaborazione.

Risultati

La funzione restituisce il valore compresso.

Esempio

select compress('1234567890');
   COMPRESS
--------------
 x3426153·˚4
(1 row)