Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: SQL Server 2016 (13.x) a novější verze
koncového bodu Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
v Microsoft Fabric
Warehouse v databázi Microsoft Fabric
SQL v Microsoft Fabric
Tato funkce komprimuje vstupní výraz pomocí algoritmu Gzip . Funkce vrací bajtové pole typu varbinary(max).
Syntaxe
COMPRESS ( expression )
Arguments
expression
Výraz jednoho z následujících datových typů:
- binary(n)
- char(n)
- nchar(n)
- nvarchar(max)
- nvarchar(n)
- varbinary(max)
- varbinary(n)
- varchar(max)
- varchar(n)
Další informace naleznete v tématu Výrazy.
Návratové typy
varbinary(max), což představuje komprimovaný obsah vstupu.
Poznámky
Komprimovaná data nelze indexovat.
Funkce COMPRESS komprimuje vstupní výrazová data. Tuto funkci musíte vyvolat pro každou datovou sekci pro kompresi. Pro více informací o automatické kompresi dat během ukládání na úrovni řádků nebo stránek viz komprese dat.
Examples
A. Komprimujte data během vkládání tabulky
Tento příklad ukazuje, jak komprimovat data vložená do tabulky:
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. Archivní komprimovaná verze smazaných řádků
Toto prohlášení nejprve maže staré hráčské záznamy z tabulky player . Aby ušetřil místo, ukládá záznamy do tabulky inactivePlayer v komprimovaném formátu.
DELETE FROM player
OUTPUT
deleted.id,
deleted.name,
deleted.surname,
deleted.datemodifier,
COMPRESS(deleted.info)
INTO dbo.inactivePlayers
WHERE datemodified < @startOfYear;