首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >YashanDB SIGN函数

YashanDB SIGN函数

作者头像
用户10349277
发布于 2025-07-30 11:03:22
发布于 2025-07-30 11:03:22
3390
举报

SIGN

语法图

SIGN函数返回expr表示的数值的符号,包括1、-1、0。

expr的值须为数值型,或可以转换为NUMBER类型的字符型(转换失败返回Invalid number错误)。对于其他类型,函数返回类型不支持。

当expr的值为NULL时,函数返回NULL。

当expr的值为正数时,函数返回1;当expr的值为负数时,函数返回-1;当expr的值为0时,函数返回0。

对于浮点数据里的Nan、-Inf、Inf特殊值:

  • SIGN(Nan) = 1
  • SIGN(Inf) = 1
  • SIGN(-Inf) = -1

示例

代码语言:javascript
复制
DROP TABLE IF EXISTS number_fd;
CREATE TABLE number_fd(numberf FLOAT, numberd DOUBLE);
INSERT INTO number_fd VALUES('NaN','inf');
INSERT INTO number_fd VALUES('',5.5333333323);
INSERT INTO number_fd VALUES('-inf','-4.322323');
COMMIT;
 
SELECT SIGN(numberf) sign1, SIGN(numberd) sign2 FROM number_fd;
      SIGN1       SIGN2
----------- -----------
          1           1
                      1
         -1          -1

代码

代码语言:javascript
复制
sign::= SIGN "(" expr ")"

SIGN函数返回expr表示的数值的符号,包括1、-1、0。

expr的值须为数值型,或可以转换为NUMBER类型的字符型(转换失败返回Invalid number错误)。对于其他类型,函数返回类型不支持。

当expr的值为NULL时,函数返回NULL。

当expr的值为正数时,函数返回1;当expr的值为负数时,函数返回-1;当expr的值为0时,函数返回0。

对于浮点数据里的Nan、-Inf、Inf特殊值:

  • SIGN(Nan) = 1
  • SIGN(Inf) = 1
  • SIGN(-Inf) = -1

示例

代码语言:javascript
复制
DROP TABLE IF EXISTS number_fd;
CREATE TABLE number_fd(numberf FLOAT, numberd DOUBLE);
INSERT INTO number_fd VALUES('NaN','inf');
INSERT INTO number_fd VALUES('',5.5333333323);
INSERT INTO number_fd VALUES('-inf','-4.322323');
COMMIT;
 
SELECT SIGN(numberf) sign1, SIGN(numberd) sign2 FROM number_fd;
      SIGN1       SIGN2
----------- -----------
          1           1
                      1
         -1          -1

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • SIGN
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档