SQL SIGN 函数

SQL Server 中的 SIGN 函数是数学函数之一,用于返回指定表达式的符号,可以是正数 (+1)、负数 (-1) 或零 (0)。

SQL Server SIGN 函数的基本语法如下所示。

SELECT SIGN (Numeric_Expression)
FROM [Source]

Numeric_Expression:此函数接受精确数字或近似数字数据类型。请记住,它不接受 Bit 数据类型。

  • 如果 Numeric_Expression 参数是正零或负零,SIGN 函数将返回零作为结果。
  • 如果 Numeric_Expression 参数是负数,它将返回负一 (-1) 作为结果。
  • 如果它是正数,SIGN 函数将返回正一 (+1) 作为结果。

SQL SIGN 函数示例

在此示例中,我们将查找不同数据(正值和负值)的符号值并显示输出。

我们正在查找 @i 的符号。我们使用 别名 列为 Server 结果分配一个新名称,即“SignResult 1”。

对于下面的语句 2 和 3,我们直接在正值上使用了 SIGN 数学函数。接下来的 Result 4 和 5,我们使用了正零和负零。而对于 6 和 7,我们直接使用了负值。

DECLARE @i INT
SET @i = 10

SELECT SIGN(@i)AS [Sign Result 1]

-- Finding Degrees directly
SELECT SIGN(150) AS [Sign Result 2]
SELECT SIGN(14.25) AS [Sign Result 3]

SELECT SIGN(0) AS [Sign Result 4]
SELECT SIGN(-0) AS [Sign Result 5]

SELECT SIGN(-25) AS [Sign Result 6]
SELECT SIGN(-104.449) AS [Sign Result 7]
SIGN Example 1

SIGN 示例 2

在此 SIGN 函数示例中,我们将使用 DEGREES 函数查找 [Service Grade] 列中所有记录的符号。原始表 = Math Table 数据

SELECT [EnglishProductName]
      ,[Color]
      ,[StandardCost]
      ,[SalesAmount]
      ,[TaxAmt]
      ,[Service Grade]
      ,SIGN([Service Grade]) AS [Service_Sign]
  FROM [Mathemetical Functions]
SIGN Function 2