📜  SQL Server 中的 SIGN()函数(1)

📅  最后修改于: 2023-12-03 14:47:35.877000             🧑  作者: Mango

SQL Server 中的 SIGN() 函数

在 SQL Server 中,SIGN() 函数用于返回一个数的符号。如果该数为正,则返回 1;如果该数为负,则返回 -1;如果该数为零,则返回 0。

语法
SIGN(numeric_expression)

参数

  • numeric_expression: 必需。要确定其符号的数值表达式。这可以是常量、变量或表达式。

返回值

  • 如果 numeric_expression 大于 0,则返回 1。
  • 如果 numeric_expression 等于 0,则返回 0。
  • 如果 numeric_expression 小于 0,则返回 -1。
示例

使用 SIGN() 函数返回几个数字的符号:

SELECT SIGN(10) AS result; -- 返回 1
SELECT SIGN(-2.5) AS result; -- 返回 -1
SELECT SIGN(0) AS result; -- 返回 0
注意事项
  • 如果 numeric_expression 不是有效的数字表达式,则 SIGN() 函数将返回错误消息。

  • SIGN() 函数只接受一个参数,并且该参数必须为数字表达式。如果需要将非数字表达式转换为数字表达式,可以使用类似以下示例的 CAST() 函数:

    SELECT SIGN(CAST('123' AS int)) AS result; -- 返回 1
    
  • 使用 SIGN() 函数时,应确保输入参数的数据类型是正确的。例如,如果 numeric_expression 是小数,则返回的值将始终为 -1、0 或 1,因为这些是整数。如果需要保留小数位数,请使用 ROUND()TRUNCATE() 函数,或将 numeric_expression 转换为 DECIMAL 数据类型。

以上内容是关于 SQL Server 中的 SIGN() 函数的介绍。希望对你有帮助!