跳到主要内容

SIGN

描述

返回x的符号。负数,零或正数分别对应 -1,0 或 1。

语法

SIGN(x)

参数

参数说明
<x>自变量

返回值

返回一个整型:

  • 当 x > 0 时,返回 1,代表整数。

  • 当 x = 0 时,返回 0,代表零。

  • 当 x < 0 时,返回 -1,代表负数。

  • 当 x is NULL 时,返回 NULL。

注意,对于浮点数的正负零,在这里全部返回 0,如果想要区分浮点数的正负零,可以使用 <signbit> 函数

举例

select sign(3);
+-------------------------+
| sign(cast(3 as DOUBLE)) |
+-------------------------+
| 1 |
+-------------------------+
select sign(0);
+-------------------------+
| sign(cast(0 as DOUBLE)) |
+-------------------------+
| 0 |
+-------------------------+
select sign(-10.0);
+-----------------------------+
| sign(cast(-10.0 as DOUBLE)) |
+-----------------------------+
| -1 |
+-----------------------------+
select sign(null);
+------------+
| sign(NULL) |
+------------+
| NULL |
+------------+
select sign(cast('+0.0' as double)) , sign(cast('-0.0' as double));
+------------------------------+------------------------------+
| sign(cast('+0.0' as double)) | sign(cast('-0.0' as double)) |
+------------------------------+------------------------------+
| 0 | 0 |
+------------------------------+------------------------------+