分享方式:


一元運算符 - 正數 (Transact-SQL)

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric 的 SQL 端點分析 Microsoft Fabric 的倉儲

傳回數值運算式 (一元運算子) 的值。 一元運算子只能在屬於數值資料類型類別目錄之任何資料類型的單一運算式上執行運算。

運算子 意義
+ (一元正數) 數值是正的。
- (一元負數) 數值是負的。
~ (位元 NOT) 傳回數位的補碼。

+ 在數值數據類型類別目錄的任何一個數據類型的任何表達式上,都可以使用 (positive) 和 - (negative) 運算符。 ~ (位NOT) 運算子只能用於整數數據類型類別目錄之任一數據類型的運算式上。

Transact-SQL 語法慣例

語法

+ numeric_expression

引數

numeric_expression

數值數據類型類別目錄中任何一個數據類型的任何有效表達式,但 datetimesmalldatetime 數據類型除外

傳回類型

傳回 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