Унарные операторы — положительные (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в Microsoft Fabric
Возвращает значение числового выражения (унарный оператор). Унарные операторы выполняют операцию только на одном выражении любого типа данных из категории числовых типов данных.
Оператор | Значение |
---|---|
+ (Унарный положительный) | Числовое значение положительно. |
- (Унарный отрицательный) | Числовое значение отрицательно. |
~ (побитовое НЕ) | Возвращает дополнение числа. |
Операторы +
(положительные) и -
(отрицательные) можно использовать для любого выражения любого из типов данных категории числовых типов данных. Оператор ~
(битовая NOT
) может использоваться только для выражений любого из типов данных категории целочисленных типов данных.
Соглашения о синтаксисе Transact-SQL
Синтаксис
+ numeric_expression
Аргументы
numeric_expression
Любое допустимое выражение любого из типов данных в категории числовых типов данных, за исключением типов данных datetime и smalldatetime .
Типы возвращаемых данных
Возвращает тип данных numeric_expression.
Замечания
Хотя оператор унарного сложения может стоять перед любым числовым выражением, он не выполняет никаких действий со значением, полученным в результате вычисления выражения. В частности, он не возвращает положительное значение отрицательного выражения. Для получения положительного значения из отрицательного значения выражения предназначена функция ABS.
Примеры
А. Задайте для переменной положительное значение
В следующем примере производится присваивание переменной положительного значения.
USE tempdb;
GO
DECLARE @MyNumber DECIMAL(10, 2);
SET @MyNumber = + 123.45;
SELECT @MyNumber AS PositiveValue;
GO
Результирующий набор:
PositiveValue
--------------
123.45
B. Использование унарного оператора плюса с отрицательным значением
В следующем примере показано использование унарного плюса с отрицательным выражением и функцией ABS для одного и того же отрицательного выражения. Унарный плюс не влияет на выражение, но ABS()
функция возвращает положительное значение выражения.
USE tempdb;
GO
DECLARE @Num1 INT;
SET @Num1 = -5;
SELECT + @Num1 AS NegativeValue,
ABS(@Num1) AS PositiveValue;
GO
Результирующий набор:
NegativeValue PositiveValue
-------------- --------------
-5 5