Partager via


- (Soustraction) (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Point de terminaison d’analytique SQL dans Microsoft FabricEntrepôt dans Microsoft FabricBase de données SQL dans Microsoft Fabric

Effectue une soustraction entre deux nombres (opérateur de soustraction arithmétique). Peut également soustraire un nombre de jours d'une date.

Conventions de la syntaxe Transact-SQL

Syntax

expression - expression

Arguments

expression

Toute expression valide d’un des types de données de la catégorie de type de données numérique, à l’exception du type de données bit . Impossible d’utiliser des types de données date, heure, datetime2 oudatetimeoffset .

Types de retour

Retourne le type de données de l'argument ayant la priorité la plus élevée. Pour plus d’informations, consultez Priorité du type de données.

Examples

Les exemples de code de cet article utilisent les bases de données d'exemple AdventureWorks2025 ou AdventureWorksDW2025, que vous pouvez télécharger à partir de la page d'accueil Microsoft SQL Server Samples and Community Projects.

A. Utiliser la soustraction dans une instruction SELECT

L’exemple suivant calcule la différence de taux d’imposition entre l’état ou la province avec le taux d’imposition le plus élevé, et l’état ou la province avec le taux d’imposition le plus bas.

S’applique à : SQL Server et SQL Database.

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

Vous pouvez changer l'ordre d'exécution en utilisant des parenthèses. Les calculs entre parenthèses sont effectués en premier lieu. Si les parenthèses sont imbriquées, le calcul le plus imbriqué a la priorité.

B. Utiliser la soustraction de date

L’exemple suivant soustrait plusieurs jours à partir d’une date datetime .

S'applique à : SQL Server et SQL Database.

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

Voici l'ensemble des résultats.

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

Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)

C. Utiliser la soustraction dans une instruction SELECT

L’exemple suivant calcule la différence de taux de base entre l’employé dont le taux de base est le plus élevé et l’employé dont le taux de base est le plus faible, à partir de la table dimEmployee.

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