Web Frontend/Database

[SQL] 음수, 양수 확인하기 - SIGN 함수

챙v 2025. 3. 5. 18:48
728x90
반응형

SIGN 함수는 데이터 분석과 수치 데이터를 다룰 때, 어떤 숫자가 양수인지, 음수인지, 0인지를 구분해야 할 때 사용합니다.

 1. SIGN 함수란?

  • SIGN 함수는 숫자의 부호를 판별하는 SQL 함수입니다.
  • 입력값이 양수인지, 음수인지, 0인지를 판단할 때 유용합니다.

 2. SIGN 함수의 기본 구문

SIGN(숫자)
  • 양수 → 1 반환
  • 0 → 0 반환
  • 음수 → -1 반환

 3. SIGN 함수 사용 예제

✔️ (1) 단순한 숫자 판별

SELECT 
    SIGN(-50) AS 결과_1,   -- 결과: -1
    SIGN(0)   AS 결과_2,    -- 결과:  0
    SIGN(25)  AS 결과_3     -- 결과:  1
FROM dual;
  • -50은 음수이므로 -1 반환
  • 0은 그대로 0 반환
  • 25는 양수이므로 1 반환

✔️ (2) 급여 변동 내역을 이용한 상태 분류

SELECT 직원ID,
       급여변동액,
       CASE SIGN(급여변동액)
           WHEN 1 THEN '급여 인상'
           WHEN 0 THEN '변동 없음'
           WHEN -1 THEN '급여 삭감'
       END AS 급여_상태
FROM 급여_변동내역;
  • 급여 변동액이 양수면 ‘급여 인상’
  • 0이면 ‘변동 없음’
  • 음수면 ‘급여 삭감’

✔️ (3) SIGN을 활용한 조건 필터링

SELECT * 
FROM 주문정보 
WHERE SIGN(결제금액 - 100000) = 1;
  • 결제금액이 10만 원 초과인 경우만 조회
  • 결제금액이 10만 원 이하라면 SIGN 값이 0 또는 -1이므로 제외됨

✔️ (4) DECODE랑 함께 사용하기

  • 급여 인상 여부에 따라 문자를 반환해야할 때 사용할 수 있습니다.
SELECT 직원ID,
       급여변동액,
       DECODE(SIGN(급여변동액),
              1, '급여 인상',
              0, '변동 없음',
             -1, '급여 삭감') AS 급여_상태
FROM 급여_변동내역;

마무리

 SIGN 함수는 숫자의 부호를 쉽게 판별할 수 있어, 데이터 분류 및 조건 설정 시 유용합니다.
✅ 특히 급여 변동, 매출 분석, 임계값을 기준으로 한 데이터 필터링 등에 널리 활용됩니다.

728x90
반응형