Унарные операторы — отрицание

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Управляемый экземпляр SQL Azure Конечная точка аналитики аналитики Synapse Analytics Analytics (PDW)SQL Analyticsв Microsoft FabricХранилище в Microsoft Fabric

Возвращает отрицательное значение числового выражения (унарный оператор). Унарные операторы выполняют операцию только на одном выражении любого типа данных из категории числовых типов данных.

Оператор Значение
+ (положительное значение) Числовое значение положительно.
- (отрицательное значение) Числовое значение отрицательно.
~ (побитовое НЕ) Возвращает поразрядное дополнение числа.

Операторы + (знак «плюс») и - (знак «минус») можно использовать в любом выражении любого типа данных из категории числовых типов данных. Оператор ~ (побитовое НЕ) можно использовать только в выражениях любого типа данных из категории целочисленных типов данных.

Соглашения о синтаксисе Transact-SQL

Синтаксис

- numeric_expression  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

numeric_expression
Любое допустимое выражение любого типа из категории числовых типов данных, за исключением категории даты и времени.

Типы результата

Возвращает тип данных аргумента numeric_expression с единственным исключением: выражение типа tinyint без знака преобразуется в результат типа smallint со знаком.

Примеры

А. Присваивание переменной отрицательного значения

Следующий пример присваивает переменной отрицательное значение.

USE tempdb;  
GO  
DECLARE @MyNumber DECIMAL(10,2);  
SET @MyNumber = -123.45;  
SELECT @MyNumber AS NegativeValue;  
GO  

Результирующий набор:

NegativeValue  
---------------------------------------  
-123.45  
  
(1 row(s) affected)  
  

B. Изменение значения переменной на отрицательное

Следующий пример изменяет значение переменной на отрицательное значение.

USE tempdb;  
GO  
DECLARE @Num1 INT;  
SET @Num1 = 5;  
SELECT @Num1 AS VariableValue, -@Num1 AS NegativeValue;  
GO  

Результирующий набор:

VariableValue NegativeValue  
------------- -------------  
5             -5  
  
(1 row(s) affected)  
  

Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)

C. Получение отрицательного значения положительной константы

В приведенном ниже примере возвращается отрицательное значение положительной константы.

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

Возвраты

-17  

D. Получение положительного значения отрицательной константы

В приведенном ниже примере возвращается положительное значение отрицательной константы.

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

Возвраты

17  

Д. Получение отрицательных значений столбца

В приведенном ниже примере возвращается отрицательное значение BaseRate для каждого сотрудника в таблице dimEmployee.

USE ssawPDW;  
  
SELECT - BaseRate FROM DimEmployee;  

См. также

Типы данных (Transact-SQL)
Выражения (Transact-SQL)
Операторы (Transact-SQL)