SIGN (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric 中的 SQL 分析终结点Microsoft Fabric 中的仓库

返回指定表达式的正号 (+1)、零 (0) 或负号 (-1)。

Transact-SQL 语法约定

语法

SIGN ( numeric_expression )  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

numeric_expression
是精确或近似数值数据类型类别(bit 数据类型除外)的表达式

返回类型

指定的表达式 返回类型
bigint bigint
int/smallint/tinyint int
money/smallmoney money
numeric/decimal numeric/decimal
其他类型 float

示例

以下示例返回从 -1 到 1 的 SIGN 数值。

DECLARE @value REAL  
SET @value = -1  
WHILE @value < 2  
   BEGIN  
      SELECT SIGN(@value)  
      SET NOCOUNT ON  
      SELECT @value = @value + 1  
      SET NOCOUNT OFF  
   END  
SET NOCOUNT OFF  
GO  

下面是结果集。

(1 row(s) affected)  
  
------------------------   
-1.0                       
  
(1 row(s) affected)  
  
------------------------   
0.0                        
  
(1 row(s) affected)  
  
------------------------   
1.0                        
  
(1 row(s) affected)  

示例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

以下示例返回三个数字的 SIGN 值。

SELECT SIGN(-125), SIGN(0), SIGN(564);  

下面是结果集。

-----  -----  -----  
-1     0      1

另请参阅

数学函数 (Transact-SQL)