Поделиться через


Унарные операторы — положительные (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