[MSSQL]SET Statements vol2

Database/MSSQL
▶ set ansi_warnings 
When ON, if null values appear in aggregate functions (such as SUM, AVG, MAX, MIN, STDEV, STDEVP, VAR, VARP, or COUNT) a warning message is generated. 
When OFF, no warning is issued. 

집계함수 사용 시, NULL 값 존재하면 경고 메시지를 발생하게 한다.
NULL 값이 포함된 필드에 집계함수 사용한 경우에는 사용자가 원하는 결과 값이 안 나올 수 있다.

ex)  null value는 집계함수에서 제외


set ansi_warnings 은 NULL 값 존재 유무에 따른 경고 메시지를 발생을 제어한다.
기본 값은 set ansi_warnings on 이다.


▶ ansi_warnings on 인 경우

set ansi_warnings on

select COUNT(t.no) as no_cnt
  from (
		select 1 as no, 4 as cnt
		union all
		select 2 as no, 3 as cnt
		union all
		select 3 as no, null as cnt
		union all
		select null as no, 1 as cnt
     ) t



▶ ansi_warnings off 인 경우

set ansi_warnings off

select COUNT(t.no) as no_cnt
  from (
		select 1 as no, 4 as cnt
		union all
		select 2 as no, 3 as cnt
		union all
		select 3 as no, null as cnt
		union all
		select null as no, 1 as cnt
     ) t