単項演算子 - 正号

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウス

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

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

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

Transact-SQL 構文表記規則

構文

+ numeric_expression  

Note

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

引数

numeric_expression
datetime および smalldatetime データ型を除く、数値データ型カテゴリ内のいずれかのデータ型の有効なです。

戻り値の型

データ型を返す numeric_expressionです。

解説

単項プラスは任意の数値式の前に付けることができますが、その式が返す値に対して何の操作も行いません。 つまり、負の式の値を正の値にして返すわけではありません。 負の式の値を正の値として返すには、ABS 関数を使用します。

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

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

DECLARE @MyNumber DECIMAL(10,2);  
SET @MyNumber = +123.45;  
SELECT @MyNumber;  
GO  

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

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

B. 単項プラス演算子を負の値と共に使用する

次の例では、単項プラス演算子を負の式と共に使用した場合と、同じ式に対して ABS() 関数を使用した場合とを示しています。 単項プラス演算子は式に影響を与えませんが、ABS 関数は式の値を正の値にして返します。

USE tempdb;  
GO  
DECLARE @Num1 INT;  
SET @Num1 = -5;  
SELECT +@Num1, ABS(@Num1);  
GO  

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

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

参照

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