SQL
[SQL] char, varchar, varchar2 차이점
55yudi
2021. 8. 13. 14:59
오라클에서 문자를 저장하기 위해서는 알맞은 데이터 타입을 변수에 지정해줘야 한다.
대표적인 데이터 타입 3가지 : char, varchar, varchar2
1. char
- 고정된 문자열을 저장하는 데 사용 (고정된 길이를 갖는다.)
- char를 데이터 타입으로 선언한 변수에 고정된 길이보다 작은 길이의 문자를 넣어도 남은 부분을 공백으로 채움
(만약 더 큰 길이를 입력하게 되면 오라클 DB는 에러를 반환한다.)
- 테이블을 만들 때, 무조건 고정된 길이를 지정해줘야 하고 범위는 1~2000 bytes
- 한글의 경우 글자당 2byte이므로 1000글자가 저장
- 영문, 숫자의 경우 1byte
2. varchar, varchar2
- 가변 길이로 문자열을 저장할 수 있는 데이터 타입
- varchar2로 변수를 만들면 1~4000byte까지의 길이를 지정해줄 수 있음
- char와의 차이점 : 선언한 문자열보다 더 짧은 문자열을 선언하게 될 경우,
char의 경우 공백으로 남은 부분을 메꾸지만
varchar와 varchar2는 공백으로 채우지 않는다.
- varchar2를 사용하면 메모리 상의 이점을 얻게 되어 더 많이 사용함
- varchar과 varchar2는 공식적으로는 두 데이터 타입이 동의어라고 명시되어 있지만,
varchar는 나중에 다른 방식의 데이터 타입으로 변경될 수 있기 때문에 varchar2 사용을 권장