一元运算符 - 正数 (Transact-SQL)
适用于: SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
分析平台系统 (PDW)
Microsoft Fabric 中的 SQL 分析端点
Microsoft Fabric 中的仓库
返回数值表达式(一个一元运算符)的值。 一元运算符只对一个表达式执行操作,该表达式可以是 numeric 数据类型类别中的任何一种数据类型。
运算符 | 含义 |
---|---|
+ (一元正) | 数值为正。 |
- (一元负) | 数值为负。 |
~(位非) | 返回数字的补数。 |
+
(正)和-
(负)运算符可用于数值数据类型类别的任何数据类型的任何表达式。 ~
运算符NOT
只能用于整数数据类型类别的任何一种数据类型的表达式。
语法
+ numeric_expression
注意
若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档。
参数
numeric_expression
数值数据类型类别中任一数据类型的任何有效表达式,日期时间和 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