Oracle SIGN() 函数使用指南

Oracle SIGN() 是一个内置函数,它返回 -10, 或 1 表示给定的数字是负数,零还是正数。

Oracle SIGN() 语法

这里是 Oracle SIGN() 函数的语法:

SIGN(num)

参数

num

必需的。

返回值

Oracle SIGN() 函数返回 -10, 或 1 表示给定的数字是负数,零还是正数。该函数的实现规则如下:

  • 对于NUMBER类型的值:

    • 如果n 小于 0,符号是 -1
    • 如果n 等于 0,符号是 0
    • 如果n 大于 0,符号是 1
  • 对于二进制浮点数(BINARY_FLOATBINARY_DOUBLE),此函数返回数字的符号位。:

    • 如果n 小于 0,符号是 -1
    • 如果n 大于等于 0 或 n 等于 NaN,符号是 1

如果任意一个参数为 NULLSIGN() 将返回 NULL

Oracle SIGN() 示例

这里有几个展示了 Oracle SIGN() 函数用法的示例。

基本用法

SELECT
    SIGN(5),
    SIGN(0),
    SIGN(-5)
FROM dual;

输出:

   SIGN(5)    SIGN(0)    SIGN(-5)
__________ __________ ___________
         1          0          -1

NaN

对于 NaN 值,Oracle SIGN() 函数返回 1

SELECT
    SIGN(BINARY_DOUBLE_NAN),
    SIGN(BINARY_FLOAT_NAN)
FROM dual;

输出:

   SIGN(BINARY_DOUBLE_NAN)    SIGN(BINARY_FLOAT_NAN)
__________________________ _________________________
                         1                         1

NULL 参数

如果任意一个参数为 NULLSIGN() 将返回 NULL

SET NULL 'NULL';
SELECT
    SIGN(NULL)
FROM dual;

输出:

   SIGN(NULL)
_____________
         NULL

在本示例中,我们使用 SET NULL 'NULL'; 语句将 NULL 值显示为 'NULL' 字符串。

结论

Oracle SIGN() 是一个内置函数,它返回 -10, 或 1 表示给定的数字是负数,零还是正数。