Унарные операторы — отрицательные (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в Microsoft Fabric
Возвращает отрицательное значение числового выражения (унарный оператор). Унарные операторы выполняют операцию только на одном выражении любого типа данных из категории числовых типов данных.
Оператор | Значение |
---|---|
+ (Унарный положительный) | Числовое значение положительно. |
- (Унарный отрицательный) | Числовое значение отрицательно. |
~ (побитовое НЕ) | Возвращает дополнение числа. |
Операторы +
(положительные) и -
(отрицательные) можно использовать для любого выражения любого из типов данных категории числовых типов данных. Оператор ~
(битовая NOT
) может использоваться только для выражений любого из типов данных категории целочисленных типов данных.
Соглашения о синтаксисе Transact-SQL
Синтаксис
- numeric_expression
Аргументы
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
B. Изменение переменной на отрицательное значение
Следующий пример изменяет значение переменной на отрицательное значение.
USE tempdb;
GO
DECLARE @Num1 INT;
SET @Num1 = 5;
SELECT @Num1 AS VariableValue,
-@Num1 AS NegativeValue;
GO
Вот результирующий набор.
VariableValue NegativeValue
------------- -------------
5 -5
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
Примеры кода Transact-SQL в этой статье используют AdventureWorks2022
базу данных или AdventureWorksDW2022
пример базы данных, которую можно скачать с домашней страницы примеров и проектов сообщества Microsoft SQL Server.
C. Возврат отрицательного значения положительной константы
В приведенном ниже примере возвращается отрицательное значение положительной константы.
USE ssawPDW;
GO
SELECT TOP (1) - 17 FROM DimEmployee;
Вот результирующий набор.
-17
Обратите внимание на тот же результат, что и если унарный отрицательный применяется к значению с унарными унарными операторами — положительным применением.
USE ssawPDW;
GO
SELECT TOP (1) - (+ 17)
FROM DimEmployee;
Вот результирующий набор.
-17
D. Возврат положительного значения отрицательной константы
В приведенном ниже примере возвращается положительное значение отрицательной константы.
USE ssawPDW;
GO
SELECT TOP (1) - (- 17)
FROM DimEmployee;
Вот результирующий набор.
-17
Е. Возврат отрицательного значения столбца
Унарный отрицательный отменяет числовой оператор значений столбца. В результате отрицательные значения возвращаются из положительных значений, а положительные значения возвращаются из отрицательных значений.
В приведенном ниже примере возвращается отрицательное значение BaseRate
для каждого сотрудника в таблице DimEmployee
.
USE ssawPDW;
GO
SELECT - BaseRate
FROM DimEmployee;