안녕하세요.
이번에는 DB 스크립트에서 0을 나누는 스크립트에 관해 작성하려합니다.
본의 아니게 0을 나눌 계산식은 아니였지만, 데이터에 0값이 존재하게되어, 예기지 않은 오류를 접할수 있게되는데요.
이러한 오류는 함수, 프로시저 또는 SQL_Script 등 다양한 곳에서 마주치게 됩니다.
하지만 0을 회피하여 나누는 좋은 방법이 있습니다.
SELECT
NVL ( 분자 / DECODE ( 분모, 0, NULL , 분모), 0)
FROM
DUAL;
분자가 0일 경우 계산식에 문제되지 않지만 분모가 0일 경우 계산식의 오류가 발생됩니다.
위의 수식으로 완성 하면 됩니다.
Divide by zero에 대한 오류를 피할 수 있습니다.
번외로 Oracle 에서는 NULLIF문을 제공합니다. 더욱 간단하게 0을 나눌 수 있습니다.
SELECT
NUL(분자 / NULLIF(분모, 0) , 0)
FROM
DUAL;
NUL 밖에서는 별도의 Decode 값으로 Exception 처리를 할 수 도 있겠습니다.
'SQL_SCRIPT' 카테고리의 다른 글
PostgreSQL psql COPY 대용량 (0) | 2025.05.30 |
---|---|
Oracle, Tibero 다른 테이블의 데이터 비교 (1) | 2023.12.16 |
시퀀스 조회 및 생성하기. #1 (0) | 2023.07.19 |
DataBase Insert Select 문 쉽게 하기 (0) | 2023.07.12 |
Create Select Table 쉽게 생성하기 (0) | 2023.07.07 |