SIGN 함수
SIGN 함수는 숫자의 부호(양의 부호 또는 음의 부호)를 반환합니다. SIGN 함수의 결과는 인수가 양수이면 1
, 음수이면 -1
, 0
이면 0
이 됩니다.
구문
SIGN(number)
인수
- number
-
숫자, 또는 숫자로 평가되는 표현식입니다.
DECIMAL
,FLOAT8
, 또는SUPER
형식이 될 수 있습니다. 다른 데이터 형식은 암시적 변환 규칙에 따라 Amazon Redshift에 의해 변환될 수 있습니다.
반환 타입
SIGN은 입력 인수와 동일한 숫자 데이터 형식을 반환합니다. 입력이 DECIMAL
인 경우 출력은 DECIMAL(1,0)
입니다.
입력이 SUPER
형식이면 출력은 입력과 동일한 동적 형식을 유지하는 반면 정적 형식은 SUPER
형식을 유지합니다. SUPER
의 동적 형식이 숫자가 아니면 Amazon Redshift는 NULL
을 반환합니다.
예시
다음 예제에서는 입력이 DOUBLE PRECISION
이므로 테이블 t2의 열 d
의 형식이 DOUBLE PRECISION
이고 입력이 NUMERIC
이므로 테이블 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; SELECT table_name, column_name, data_type FROM SVV_REDSHIFT_COLUMNS WHERE table_name='t1' OR table_name='t2';
+------------+-------------+-----------------------+ | table_name | column_name | data_type | +------------+-------------+-----------------------+ | t1 | d | double precision | | t1 | n | numeric(12,2) | | t2 | d | double precision | | t2 | n | numeric(1,0) | | t1 | col1 | character varying(20) | +------------+-------------+-----------------------+
다음 예제에서는 TICKIT 샘플 데이터베이스를 사용합니다. 자세한 내용은 샘플 데이터베이스 단원을 참조하십시오.
판매 테이블에서 주어진 거래에 대해 지급된 수수료의 부호를 확인하려면 다음 예제를 사용합니다.
SELECT commission, SIGN(commission) FROM sales WHERE salesid=10000;
+------------+------+ | commission | sign | +------------+------+ | 28.05 | 1 | +------------+------+