Compartir a través de


- (Resta) (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseInstancia administrada de Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de SQL Analytics en Microsoft FabricAlmacén en Microsoft FabricBase de datos SQL en Microsoft Fabric

Resta dos números (un operador aritmético de sustracción). También puede restar un número, en días, de una fecha.

Convenciones de sintaxis de Transact-SQL

Syntax

expression - expression

Arguments

expression

Cualquier expresión válida de cualquiera de los tipos de datos de la categoría de tipo de datos numérico, excepto el tipo de datos bit . No se puede usar con tipos de datos date, time, datetime2 o datetimeoffset .

Tipos de retorno

Devuelve el tipo de datos del argumento con mayor prioridad. Para obtener más información, consulte Precedencia de tipos de datos.

Examples

Los ejemplos de código de este artículo usan la base de datos de ejemplo de AdventureWorks2025 o AdventureWorksDW2025, que puede descargar de la página principal de Ejemplos de Microsoft SQL Server y proyectos de comunidad.

A. Uso de la resta en una instrucción SELECT

En el ejemplo siguiente se calcula la diferencia en la tasa fiscal entre el estado o la provincia con la tasa fiscal más alta y el estado o provincia con la tasa fiscal más baja.

Se aplica a: SQL Server y SQL Database.

SELECT MAX(TaxRate) - MIN(TaxRate) AS 'Tax Rate Difference'
FROM Sales.SalesTaxRate
WHERE StateProvinceID IS NOT NULL;
GO

Puede cambiar el orden de ejecución utilizando paréntesis. Se evalúan primero los cálculos del interior de los paréntesis. Si los paréntesis están anidados, tiene precedencia el cálculo más anidado.

B. Usar resta de fecha

En el ejemplo siguiente se restan varios días de una fecha datetime .

Se aplica a: SQL Server y a SQL Database.

DECLARE @altstartdate DATETIME;
SET @altstartdate = CONVERT(DATETIME, 'January 10, 1900 3:00 AM', 101);
SELECT @altstartdate - 1.5 AS 'Subtract Date';

Este es el conjunto de resultados.

Subtract Date
-----------------------
1900-01-08 15:00:00.000

Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)

C. Uso de la resta en una instrucción SELECT

En el siguiente ejemplo se calcula la diferencia de tasa base entre el empleado con la tasa base más alta y el que tiene la tasa base más baja en la tabla dimEmployee.

SELECT MAX(BaseRate) - MIN(BaseRate) AS BaseRateDifference
FROM DimEmployee;