适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
分析平台系统(PDW)
Microsoft Fabric 中的 SQL 分析终结点
Microsoft Fabric 中的仓库
Microsoft Fabric 预览版中的 SQL 数据库
返回数值表达式(一个一元运算符)的值。 一元运算符只对一个表达式执行操作,该表达式可以是 numeric 数据类型类别中的任何一种数据类型。
| Operator | Meaning |
|---|---|
| + (一元正) | 数值为正。 |
| - (一元负) | 数值为负。 |
| ~(位非) | 返回数字的补数。 |
+ (正)和-(负)运算符可用于数值数据类型类别的任何数据类型的任何表达式。
~ 运算符NOT只能用于整数数据类型类别的任何一种数据类型的表达式。
Syntax
+ numeric_expression
Arguments
numeric_expression
数值数据类型类别中任一数据类型的任何有效 表达式 ,日期 时间 和 smalldatetime 数据类型除外。
Return types
返回 numeric_expression的数据类型。
Remarks
尽管一元加号可以出现在任何数值表达式之前,但它对表达式返回的值不执行操作。 具体而言,它不会返回负表达式的正值。 若要返回负表达式的正值,请使用 ABS 函数。
Examples
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