본문 바로가기
프로그래밍/DB & Redis

[DB] sql SET ANSI_NULLS, SET QUOTED_IDENTIFIER

by 뽀도 2015. 7. 1.
https://technet.microsoft.com/ko-kr/library/ms190356(v=sql.120).aspx

https://technet.microsoft.com/ko-kr/library/ms174393(v=sql.120).aspx

 

SET ANSI_NULLS

 리를 날릴때 SET ANSI_NULLS on 혹은 SET ANSI_NULLS off 로 사용한다.

----------------------------------------------------------------------------------------------------------------

SET ANSI_NULLS 옵션이 ON인 경우, WHERE column_name = NULL을 사용하는 SELECT 문은 column_name에 Null 값이 있을 때도 0행을 반환합니다.

 

WHERE column_name <> NULL을 사용하는 SELECT 문은 column_name에 Null이 아닌 값이 있을 때도 0행을 반환합니다.

 

SET ANSI_NULLS 옵션이 OFF면 Equals(=)와 Not Equal(<>) 비교 연산자가 ISO 표준을 따르지 않습니다.

 

WHERE column_name = NULL을 사용하는 SELECT 문은 column_name에 Null 값이 있는 행을 반환합니다.

WHERE column_name <> NULL을 사용하는 SELECT 문은 열에 Null이 아닌 값이 있는 행을 반환합니다.

또한 WHERE column_name <> XYZ_value를 사용하는 SELECT 문은 XYZ_value가 아니고 NULL이 아닌 모든 행을 반환합니다.

 

SET ANSI_NULLS 옵션이 ON이면, NULL 값에 대한 모든 비교가 UNKNOWN이 됩니다.

ANSI_NULLS 옵션이 OFF면 데이터 값이 NULL일 때 null 값에 대한 모든 데이터의 비교가 TRUE가 됩니다. SET ANSI_NULLS를 지정하지 않으면 현재 데이터베이스의 ANSI_NULLS 옵션 설정이 적용됩니다.

 ANSI_NULLS 데이터베이스 옵션에 대한 자세한 내용은 ALTER DATABASE(Transact-SQL)를 참조하십시오.

----------------------------------------------------------------------------------------------------------------

 

 

 

 

 

SET QUOTED_IDENTIFIER

 

정의 -  SQL Server가 인용 부호 구분 식별자 및 리터럴 문자열에 관해 ISO 규칙을 따르도록 합니다. 큰따옴표로 구분된 식별자는 Transact-SQL 예약 키워드이거나 Transact-SQL 식별자 규칙 구문에서 일반적으로 허용하지 않는 문자를 포함할 수 있습니다.

 

사용법 - SET QUOTED_IDENTIFIER { ON | OFF }

 

솔직히 정의가 잘 이해가 되질 않았다. 그래서 직접 쿼리를 날려보았다.

 


 

 

반응형

'프로그래밍 > DB & Redis' 카테고리의 다른 글

DB 데이터 형식 맵핑  (0) 2015.07.07
int, bigint,smallint, and tinyint 사이즈와 범위  (0) 2015.07.07
[ms sql] 계정의 암호가 만료되었습니다  (0) 2015.06.09
Insert 쿼리  (0) 2015.06.09
UPDATE 쿼리  (0) 2015.06.08

댓글