KOMPRES (Transact-SQL)
Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru Azure SQL Database Azure SQL Managed Instance Titik akhir analitik Azure Synapse Analytics SQL di Microsoft Fabric Warehouse di Microsoft Fabric
Fungsi ini mengompresi ekspresi input, menggunakan algoritma Gzip . Fungsi mengembalikan array byte dari jenis varbinary(maks).
Sintaks
COMPRESS ( expression )
Argumen
expression
Ekspresi salah satu jenis data berikut:
- biner(n)
- char(n)
- nchar(n)
- nvarchar(maks)
- nvarchar(n)
- varbinary(max)
- varbinary(n)
- varchar(max)
- varchar(n)
Untuk informasi selengkapnya, lihat Ekspresi (Transact-SQL).
Tipe hasil
varbinary(max), mewakili konten input yang dikompresi.
Keterangan
Data terkompresi tidak dapat diindeks.
Fungsi ini COMPRESS
memadatkan data ekspresi input. Anda harus memanggil fungsi ini untuk setiap bagian data untuk dikompresi. Untuk informasi selengkapnya tentang pemadatan data otomatis selama penyimpanan di tingkat baris atau halaman, lihat Kompresi Data.
Contoh
J. Memadatkan data selama penyisipan tabel
Contoh ini memperlihatkan cara memadatkan data yang disisipkan ke dalam tabel:
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. Mengarsipkan versi terkompresi dari baris yang dihapus
Pernyataan ini terlebih dahulu menghapus rekaman pemutar lama dari player
tabel. Untuk menghemat ruang, kemudian menyimpan rekaman dalam inactivePlayer
tabel, dalam format terkompresi.
DELETE
FROM player
OUTPUT deleted.id,
deleted.name,
deleted.surname,
deleted.datemodifier,
COMPRESS(deleted.info)
INTO dbo.inactivePlayers
WHERE datemodified < @startOfYear;