Partage via


Opérateurs unaires - Négatif (Transact-SQL)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL analytics endpoint in Microsoft Fabric Warehouse in Microsoft Fabric

Renvoie la négation de la valeur d'une expression numérique (un opérateur unaire). Les opérateurs unaires effectuent une opération sur une seule expression de n'importe quel type de données de la catégorie des types numériques.

Opérateur Signification
+ (positif unaire) La valeur numérique est positive.
- (Négatif unaire) La valeur numérique est négative.
~ (Opérateur NOT au niveau du bit) Retourne le complément de celui du nombre.

Les + opérateurs (positifs) et - (négatifs) peuvent être utilisés sur n’importe quelle expression d’un des types de données de la catégorie de type de données numérique. L’opérateur ~ (au niveau NOTdu bit) ne peut être utilisé que sur les expressions d’un des types de données de la catégorie de type de données entier.

Conventions de la syntaxe Transact-SQL

Syntaxe

- numeric_expression

Arguments

numeric_expression

Toute expression valide d’un des types de données de la catégorie de type de données numérique, à l’exception de la catégorie date et heure.

Types de retour

Retourne le type de données de numeric_expression, à l’exception d’une expression non signée de type tinyint convertie en résultat smallint signé.

Exemples

R. Définir une variable sur une valeur négative

L'exemple suivant affecte une valeur négative à une variable.

USE tempdb;
GO

DECLARE @MyNumber DECIMAL(10, 2);
SET @MyNumber = -123.45;

SELECT @MyNumber AS NegativeValue;
GO

Voici le jeu de résultats.

NegativeValue
--------------
-123.45

B. Remplacer une variable par une valeur négative

L'exemple suivant modifie une variable en une valeur négative.

USE tempdb;
GO

DECLARE @Num1 INT;
SET @Num1 = 5;

SELECT @Num1 AS VariableValue,
    -@Num1 AS NegativeValue;
GO

Voici le jeu de résultats.

VariableValue NegativeValue
------------- -------------
5             -5

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

Les exemples de code Transact-SQL de cet article sont fondés sur l’échantillon de base de données AdventureWorks2022 ou AdventureWorksDW2022 fourni, que vous pouvez télécharger à partir de la page d’accueil Échantillons et projets communautaires Microsoft SQL Server.

C. Retourner le négatif d’une constante positive

L’exemple suivant retourne la valeur négative d’une constante positive.

USE ssawPDW;
GO

SELECT TOP (1) - 17 FROM DimEmployee;

Voici le jeu de résultats.

-17

Notez le même résultat retourné que si le négatif unaire est appliqué à une valeur avec des opérateurs unaires Unary - Positif appliqué.

USE ssawPDW;
GO

SELECT TOP (1) - (+ 17)
FROM DimEmployee;

Voici le jeu de résultats.

-17

D. Retourner le positif d’une constante négative

L’exemple suivant retourne la valeur positive d’une constante négative.

USE ssawPDW;
GO

SELECT TOP (1) - (- 17)
FROM DimEmployee;

Voici le jeu de résultats.

-17

E. Retourner le négatif d’une colonne

Le négatif unaire inverse l’opérateur numérique des valeurs d’une colonne. Par conséquent, les valeurs négatives sont retournées à partir de valeurs positives et les valeurs positives sont retournées par des valeurs négatives.

L’exemple suivant retourne la valeur négative de la valeur BaseRate de chaque employé figurant dans la table DimEmployee.

USE ssawPDW;
GO

SELECT - BaseRate
FROM DimEmployee;