단항 연산자 - 음수(Transact-SQL)

적용 대상:SQL 서버Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric 의 SQL 분석 엔드포인트Microsoft Fabric 의 웨어하우스Microsoft Fabric의 SQL 데이터베이스

숫자 식의 음수 값을 반환합니다(단항 연산자). 단항 연산자는 숫자 데이터 형식 범주에 속하는 데이터 형식의 한 식에 대해서만 연산을 수행합니다.

Operator Meaning
+(단항 긍정) 숫자 값이 양수입니다.
- (단항 부정) 숫자 값이 음수입니다.
~ (비트 NOT) 숫자의 보수 값을 반환합니다.

+ 숫자 데이터 형식 범주의 데이터 형식 중 하나의 식에서 (양수) 및 - (음수) 연산자를 사용할 수 있습니다. (비트~) 연산자는 NOT 정수 데이터 형식 범주의 데이터 형식 중 하나의 식에만 사용할 수 있습니다.

Transact-SQL 구문 표기 규칙

Syntax

- numeric_expression

Arguments

numeric_expression

날짜 및 시간 범주를 제외한 숫자 데이터 형식 범주의 데이터 형식 중 하나의 유효한 입니다.

반환 형식

부호 없는 tinyint 식이 부호 있는 smallint 결과로 승격된다는 점을 제외하고 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

이 글의 코드 샘플은 Azure Data SQL Samples Repository GitHub 저장소에서 다운로드할 수 있는 샘플 AdventureWorksDW2025 데이터베이스를 AdventureWorks2025 사용합니다.

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;