오라클에 있는 SIGN이라는 함수의 기능은 원하는 결과값(?!)이 양수 / 음수 / 0 이냐에 따라서 값을 반환해주는 함수.
예)
SELECT SIGN(1+1) a, SIGN(1-1) b, SIGN(1-5) c
FROM DUAL;
결과
---------------------------
a | b | c
==========
1 | 0 | -1
추가적인 예)
필드의 값이 100 이상인 것의 합과 미만인 것의 합을 구하는 쿼리.
출처 : http://ssiso.net/cafe/club/club1/board1/content.php?board_code=oracle%7Coratip&idx=31597&club=oracle
SELECT SUM(CASE SIGN(A-100)
WHEN 0 THEN A
WHEN 1 THEN A
ELSE 0
END) AS OVER100,
SUM(CASE SIGN(A-100)
WHEN -1 THEN A
ELSE 0
END) AS DOWN100
FROM DUAL;