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


Унарные операторы — отрицательные (Transact-SQL)

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

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

Operator Meaning
+ (Унарный положительный) Числовое значение положительно.
- (Унарный отрицательный) Числовое значение отрицательно.
~ (побитовое НЕ) Возвращает дополнение числа.

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

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

Syntax

- numeric_expression

Arguments

numeric_expression

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

Типы возвращаемых данных

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

Examples

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

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

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)

Примеры кода в этой статье используют базу данных образца AdventureWorks2025 или AdventureWorksDW2025, которую можно скачать с домашней страницы образцов и проектов сообщества 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

E. Возврат отрицательного значения столбца

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

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

USE ssawPDW;
GO

SELECT - BaseRate
FROM DimEmployee;