適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric の SQL 分析エンドポイント
Microsoft Fabric のウェアハウス
Microsoft Fabric の SQL データベース
数値式について負の値を返します (単項演算子)。 単項演算子は、数値型に分類されるデータ型の 1 つの式に対してだけ操作を実行します。
| Operator | Meaning |
|---|---|
| + (単項陽性) | 数値は正の値です。 |
| - (単項否定) | 数値は負の値です。 |
| ~ (ビット演算子 NOT) | 数値の 1 の補数を返します。 |
+ (正) および- (負) 演算子は、数値データ型カテゴリのいずれかのデータ型の任意の式で使用できます。
~ (ビットごとのNOT) 演算子は、整数データ型カテゴリのいずれかのデータ型の式でのみ使用できます。
Syntax
- numeric_expression
Arguments
numeric_expression
日付と時刻のカテゴリを除く、数値データ型カテゴリのいずれかのデータ型の有効な 式 。
戻り値の型
numeric_expression のデータ型を返します。ただし符号なし tinyint 型の式は例外で、この場合の結果は符号ありの smallint 型になります。
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、Analytics Platform System (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;