単項演算子 - 負号

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウス

数値式について負の値を返します (単項演算子)。 単項演算子は、数値型に分類されるデータ型の 1 つの式に対してだけ操作を実行します。

演算子 説明
+ (正号) 数値は正の値です。
- (負号) 数値は負の値です。
~ (ビット演算子 NOT) 値の 1 の補数を返します。

+ (正) 演算子と - (負) 演算子は、数値型カテゴリのいずれかのデータ型の任意の式で使用します。 ~ (ビットごとの NOT) 演算子を使用できるのは、整数型に分類されるデータ型の式だけです。

Transact-SQL 構文表記規則

構文

- numeric_expression  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

numeric_expression
有効なを指定します。データ型は、日付と時刻以外の数値データ型であることが必要です。

戻り値の型

numeric_expression のデータ型を返します。ただし符号なし tinyint 型の式は例外で、この場合の結果は符号ありの smallint 型になります。

A. 変数に負の値を設定する

次の例では、変数に負の値を設定します。

USE tempdb;  
GO  
DECLARE @MyNumber DECIMAL(10,2);  
SET @MyNumber = -123.45;  
SELECT @MyNumber AS NegativeValue;  
GO  

結果セットは次のようになります。

NegativeValue  
---------------------------------------  
-123.45  
  
(1 row(s) affected)  
  

B. 変数を負の値に変更する

次の例では、変数を負の値に変更します。

USE tempdb;  
GO  
DECLARE @Num1 INT;  
SET @Num1 = 5;  
SELECT @Num1 AS VariableValue, -@Num1 AS NegativeValue;  
GO  

結果セットは次のようになります。

VariableValue NegativeValue  
------------- -------------  
5             -5  
  
(1 row(s) affected)  
  

例: Azure Synapse Analytics、Analytics Platform System (PDW)

C. 正の定数の負の値を返す

次の例では、正の定数の負の値を返します。

USE ssawPDW;  
  
SELECT TOP (1) - 17 FROM DimEmployee;  

戻り値

-17  

D. 負の定数の正の値を返す

次の例では、負の定数の正の値を返します。

USE ssawPDW;  
  
SELECT TOP (1) - ( - 17) FROM DimEmployee;  

戻り値

17  

E. 列の負の値を返す

次の例では、dimEmployee テーブルの各従業員に対し、BaseRate 値の負の値を返します。

USE ssawPDW;  
  
SELECT - BaseRate FROM DimEmployee;  

参照

データ型 (Transact-SQL)
式 (Transact-SQL)
演算子 (Transact-SQL)