DataBase/Oracle

[ORACLE]양수, 음수 판단하는 SIGN 함수

DevStory 2021. 6. 5.

SIGN Funciton

SIGN ( number )

SIGN 함수는 숫자가 양수인지 음수인지 판단하는 함수입니다.


Return 값

  • 양수일 경우 1을 반환
  • 음수일 경우 -1을 반환
  • 0일 경우 0을 반환
  • NULL일 경우 NULL을 반환

매개변수가 이진 부동 소수점 숫자(BINARY_FLOAT BINARY_DOUBLE)인 경우에는 SIGN 함수는 숫자의 부호 비트를 반환합니다.

Return 값

  • number < 0이면 -1
  • number >= 0 또는 number = NaN 인 경우 1

Example Data

EX 1) 기본 사용법

SELECT SIGN(100) AS SIGN_VALUE01
     , SIGN(-100) AS SIGN_VALUE02
     , SIGN(0) AS SIGN_VALUE03
     , SIGN(NULL) AS SIGN_VALUE04
FROM DUAL;


EX 2) 이진 부동 소수점 숫자(BINARY_FLOAT 및 BINARY_DOUBLE)인 경우

CREATE TABLE SIGN_TEST_TABLE
(
  NUMERIC_VALUE NUMBER
, BINARY_FLOAT_VALUE BINARY_FLOAT
, BINARY_DOUBLE_VALUE BINARY_DOUBLE
);

INSERT INTO SIGN_TEST_TABLE
(NUMERIC_VALUE, BINARY_FLOAT_VALUE, BINARY_DOUBLE_VALUE)
VALUES
(0, 0, 0);

INSERT INTO SIGN_TEST_TABLE
(NUMERIC_VALUE, BINARY_FLOAT_VALUE, BINARY_DOUBLE_VALUE)
VALUES
(10, 10, 10);

INSERT INTO SIGN_TEST_TABLE
(NUMERIC_VALUE, BINARY_FLOAT_VALUE, BINARY_DOUBLE_VALUE)
VALUES
(-10, -10, -10);

SELECT SIGN(NUMERIC_VALUE) AS NUMERIC_VALUE
     , SIGN(BINARY_FLOAT_VALUE) AS BINARY_FLOAT_VALUE
     , SIGN(BINARY_DOUBLE_VALUE) AS BINARY_DOUBLE_VALUE
FROM SIGN_TEST_TABLE;

반응형

댓글