Amazon Redshift
数据库开发人员指南 (API 版本 2012-12-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

SIGN 函数

SIGN 函数返回数字的符号(正或负)。SIGN 函数的结果为 1-10,表示参数的符号。

语法

SIGN (number)

参数

number

要求值的数字。数据类型可以是 numericdouble precision。Amazon Redshift 可根据隐式转换规则转换其他数据类型。

返回类型

对于数字输入,输出类型为 numeric(1, 0);对于双精度输入,输出类型为 double precision

示例

确定为给定交易支付的佣金的符号:

select commission, sign (commission) from sales where salesid=10000; commission | sign -----------+------ 28.05 | 1 (1 row)

以下示例显示“t2.d”使用 double precision 作为其类型(因为输入是双精度),“t2.n”使用 numeric(1,0) 作为输出(因为输入是数字)。

CREATE TABLE t1(d double precision, n numeric(12, 2)); INSERT INTO t1 VALUES (4.25, 4.25), (-4.25, -4.25); CREATE TABLE t2 AS SELECT SIGN(d) AS d, SIGN(n) AS n FROM t1; \d t1 \d t2 The output of the “\d” commands is: Table "public.t1" Column | Type | Encoding | DistKey | SortKey | Preload | Encryption | Modifiers --------+------------------+----------+---------+---------+---------+------------+----------- d | double precision | none | f | 0 | f | none | n | numeric(12,2) | lzo | f | 0 | f | none | Table "public.t2" Column | Type | Encoding | DistKey | SortKey | Preload | Encryption | Modifiers --------+------------------+----------+---------+---------+---------+------------+----------- d | double precision | none | f | 0 | f | none | n | numeric(1,0) | lzo | f | 0 | f | none |

本页内容: