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 |
+------------------------------+------------------------------+