Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: SQL Server 2016 (13.x) y versiones posteriores
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics sql analytics endpoint
in Microsoft Fabric
Warehouse in Microsoft FabricSQL Database in Microsoft Fabric SQL Database
in Microsoft Fabric
Esta función comprime la expresión de entrada con el algoritmo Gzip. La función devuelve una matriz de bytes del tipo varbinary(max).
Convenciones de sintaxis de Transact-SQL
Sintaxis
COMPRESS ( expression )
Argumentos
expression
Una expresión de uno de los siguientes tipos de datos:
- binary(n)
- char(n)
- nchar(n)
- nvarchar(max)
- nvarchar(n)
- varbinary(max)
- varbinary(n)
- ntext
- varchar(n)
Para más información, consulte Expresiones.
Tipos de retorno
varbinary(max), que representa el contenido comprimido de la entrada.
Comentarios
Los datos comprimidos no se pueden indexar.
La función COMPRESS comprime los datos de la expresión de entrada. Debe invocar esta función para cada sección de datos que se vaya a comprimir. Para obtener más información sobre la compresión automática de datos durante el almacenamiento en el nivel de fila o página, consulte Compresión de datos.
Ejemplos
A. Comprimir datos durante la inserción en una tabla
En este ejemplo se muestra cómo comprimir los datos insertados en una tabla:
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. Archivar una versión comprimida de filas eliminadas
Esta instrucción primero elimina los registros antiguos del reproductor de la tabla player. Para ahorrar espacio, luego almacena los registros en la tabla inactivePlayer, en un formato comprimido.
DELETE FROM player
OUTPUT
deleted.id,
deleted.name,
deleted.surname,
deleted.datemodifier,
COMPRESS(deleted.info)
INTO dbo.inactivePlayers
WHERE datemodified < @startOfYear;
Contenido relacionado
- String Functions (Transact-SQL) [Funciones de cadena (Transact-SQL)]
- DECOMPRIMIR (Transact-SQL)