単項演算子 - 正 (Transact-SQL)
Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric の SQL 分析エンドポイント Microsoft Fabric のウェアハウス
数値式の値を返します (単項演算子)。 単項演算子は、数値型に分類されるデータ型の 1 つの式に対してだけ操作を実行します。
演算子 | 説明 |
---|---|
+ (単項陽性) | 数値は正の値です。 |
- (単項否定) | 数値は負の値です。 |
~ (ビット演算子 NOT) | 数値の 1 の補数を返します。 |
+
(正) および-
(負) 演算子は、数値データ型カテゴリのいずれかのデータ型の任意の式で使用できます。 ~
(ビットごとのNOT
) 演算子は、整数データ型カテゴリのいずれかのデータ型の式でのみ使用できます。
構文
+ numeric_expression
引数
numeric_expression
datetime および smalldatetime データ型を除く、数値データ型カテゴリのいずれかのデータ型の有効な式。
戻り値の型
データ型を返す numeric_expressionです。
解説
単項プラスは任意の数値式の前に付けることができますが、その式が返す値に対して何の操作も行いません。 具体的には、負の式の正の値は返されません。 負の式の値を正の値として返すには、ABS 関数を使用します。
例
A. 変数を正の値に設定する
次の例では、変数を正の値に設定します。
USE tempdb;
GO
DECLARE @MyNumber DECIMAL(10, 2);
SET @MyNumber = + 123.45;
SELECT @MyNumber AS PositiveValue;
GO
結果セットは次のとおりです。
PositiveValue
--------------
123.45
B. 単項プラス演算子を負の値で使用する
次の例は、単項プラスを負の式に使用し、同じ負の式に対して ABS 関数を使用する方法を示しています。 単項プラスは式に影響しませんが、 ABS()
関数は式の正の値を返します。
USE tempdb;
GO
DECLARE @Num1 INT;
SET @Num1 = -5;
SELECT + @Num1 AS NegativeValue,
ABS(@Num1) AS PositiveValue;
GO
結果セットは次のとおりです。
NegativeValue PositiveValue
-------------- --------------
-5 5