블로그 이미지
likeban

calendar

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

Notice

2011.09.15 14:12 IT



char, nchar, varchar, nvarchar는 모두 문자를 나타내기 위한 데이터형입니다.


n이 붙어 있으면 유니코드 문자형임을 의미하며, n이 없으면 아스키코드 문자형임을 의미합니다.

var가 붙어 있으면 가변 길이 문자형을 의미하며, var가 없으면 고정길이 문자형을 의미합니다.



여기서 잠시 고정 길이 문자형과 가변길이 문자형을 짚고 넘어가도록 하겠습니다.
고정 길이 문자형 : 지정된 자릿수만큼 메모리를 차지한 뒤, 값을 입력받다.
변길이 문자형 : 값을 입력받은 뒤, 입력받은 자릿수 만큼 메모리를 차지한다.

예를 들어 자릿수가 5인 name이라는 속성을 하나 만들었다고 합시다. 그리고, name에 "TOM"이라는 이름을 입력하였습니다.


 만약, name이 고정길이 문자형이라면  최대 자릿수로 지정된 5만큼의 메모리 공간을 만든뒤, "Tom"을 입력받고 나머지 2개의 공간에는 공백이 들어갑니다. 이럴 경우에 Tom이라는 이름을 찾는다고 조건을 name=="Tom" 이라고 하고 찾으면 절대 못찾습니다. 왜냐하면 나머지 2개의 공간에는 공백이 들어가 있기 때문입니다. "Tom  " 이런식으로 말이죠.
이런 이유로 정 길이 문자형인 char형이나 nchar는 자릿수가 정해져있지 않은 이름등에는 사용하지 않으며, 자릿수가 확실한 주민등록번호등에 사용합니다.


정리를 해보면!
char - 고정 길이를 갖는 아스키코드 문자 데이터형
nchar - 고정 길이를 갖는 유니코드 문자 데이터형
varchar - 가변 길이를 갖는 아스키코드 문자 데이터형
nvarchar - 가변 길이를 갖는 유니코드 문자 데이터형



 
저작자 표시 비영리 변경 금지
신고
posted by likeban

티스토리 툴바