SIGN 함수 - Amazon Redshift

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