N의 의미  

INSERT INTO 테이블명

VALUES

N'값' 에서 N의 의미

 

저장 프로시저 및 트리거와 같이 서버에서 실행된 코드에 나타나는 유니코드 문자열 상수 앞에는 대문자 N이 와야 합니다. 참조되는 열이 이미 유니코드로 정의된 경우에도 마찬가지입니다. N 접두사가 지정되지 않은 문자열은 데이터베이스의 기본 코드 페이지로 변환되며 특정 문자를 인식하지 못할 수도 있습니다.

예를 들어 이전 예에서 만든 저장 프로시저는 다음과 같은 방법으로 서버에서 실행될 수 있습니다.

EXECUTE Product_Info @name = N'Chain'

N 접두사 사용에 대한 요구 사항은 서버에서 보낸 문자열 상수와 클라이언트에서 보낸 문자열 상수 모두에 적용됩니다.

 

https://msdn.microsoft.com/ko-kr/library/ms191313.aspx

 

★ N을 붙이지 않는다면 DB 기본 COLLATION 으로 인식됨

 

 

알기 쉽게 표로 나타내는 Collation 과 NVARCHAR + N 의 관계

 

DB

COLUMN

입력 값

(N'解除')

('解除')

@변수 nvarchar

@변수 varchar

SQL_Latin1_

General_CP1_

CI_AS

SQL_Latin1_

General_CP1_CI_AS

VARCHAR

X

X

X (N 유무 상관없음)

X (N 유무 상관없음)

SQL_Latin1_

General_CP1_CI_AS

NVARCHAR

O

X

SET @NVAR = N'解除' O

SET @NVAR = '解除' X

X (N 유무 상관없음)

Chinese_PRC_

CI_AS

VARCHAR

O

X

SET @NVAR = N'解除' O

SET @NVAR = '解除' X

X (N 유무 상관없음)

Chinese_PRC_

CI_AS

NVARCHAR

O

X

SET @NVAR = N'解除' O

SET @NVAR = '解除' X

X (N 유무 상관없음)

Chinese_PRC_

CI_AS

SQL_Latin1_

General_CP1_CI_AS

VARCHAR

X

X

X (N 유무 상관없음)

X (N 유무 상관없음)

SQL_Latin1_

General_CP1_CI_AS

NVARCHAR

O

O

O (N 유무 상관없음)

O (N 유무 상관없음)

Chinese_PRC_

CI_AS

VARCHAR

O

O

O (N 유무 상관없음)

O (N 유무 상관없음)

Chinese_PRC_

CI_AS

NVARCHAR

O

O

O (N 유무 상관없음)

O (N 유무 상관없음)

 

 

 

 

'MSSQL 2008 > 기타' 카테고리의 다른 글

데이터 타입(2Byte짜리 글자가 깨질 때)  (0) 2015.08.10
MSSQL 서버이름 변경, 서버명 변경  (0) 2015.07.16
SET SINGLE_USER WITH ROLLBACK IMMEDIATE  (0) 2014.01.22
추적 플래그  (0) 2014.01.20
시스템 데이터 베이스  (0) 2014.01.05
by 짱구를꼭말려 2015. 8. 11. 18:59