daily-story
article thumbnail
Published 2013. 8. 6. 10:31
[mssql] nvarchar & varchar 프로그래밍
반응형

오라클만 사용하다가 MSSQL로 넘어오니 헷갈리는게 많네요.

데이터 타입부터 기본 함수까지..

이번에는 nvarchar와 varchar의 차이점에 대해서 알아보겠습니다.


nvarchar 가변 유니코드 문자열

varchar 가변 문자열


개발시 유니코드를 사용해야 한다면 nvarchar를 사용해야합니다.

varchar의 경우는 영어/숫자는 1byte로 저장을 하지만 nvarchar의 경우는 모든 문자를 2byte로 저장합니다.

declare @varchar varchar(7)
declare @nvarchar nvarchar(7)

set @varchar = '테스트중입니다'
set @nvarchar = '테스트중입니다'

select 
	@varchar as varchar
	, @nvarchar as nvarchar
	, LEN(@varchar) len_varchar
	, LEN(@nvarchar) len_nvarchar

 

자 실행을 해보면..

varchar의 경우에는 '테스트중입니다' 중 '테스트'까지만 들어가 있는 것을 확인 할 수 있습니다. 한글이 한글자에 2byte니까 당연한 결과겠죠.

nvarchar의 경우에는 '테스트중입니다' 총 7글자가 들어가 있는 것을 확인할 수 있습니다. 그러므로 다국어 지원(유니코드 사용)이 되는 개발을 할 경우에는 nvarchar를 사용해야합니다.

 

반응형
profile

daily-story

@덜구

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!