2007. 7. 25. 17:34
[DB]
SELECT 1/NULL 을 실행하면 결과값은 다음과 같다.
-----------
NULL
(1개 행 적용됨)
SELECT 1/0 을 실행하면 대부분 결과는 다음과 같을것이다.
-----------
메시지 8134, 수준 16, 상태 1, 줄 1
0으로 나누기 오류가 발생했습니다.
* SQL SERVER 7.0이전 버젼에서는 숫자를 0으로 나누면 결과가 NULL이었다.
현재(9.0버젼)는 다음과같이 설정을 변경하면 원하는 결과를 얻을수 있다.
SET ANSI_WARNINGS OFF
SET ARITHIGNORE ON
SET ARITHABORT OFF
SELECT 1/0
-----------
NULL
(1개 행 적용됨)
* 실무에서 사용한다고하면 CASE WHEN 조건 = 0 THEN 0 ELSE 나누는식 END 와같은
기교를 안부려도 될꺼같다.
━━━━━━━━━━━━━━━
by 한상국(han3925)
MAIL han3925@gmail.com
han3925@hotmail.com
BLOG pointnet.tistory.com
━━━━━━━━━━━━━━━