DATABASE STUDY
오라클 CHAR, VARCHAR2의 차이
ebson
2022. 8. 28. 13:51
1. CHAR
- 고정길이 문자열임
- 기본 길이 1바이트, 최대 길이 오라클 2000바이트, SQL Server 8000바이트임
- 최대 길이를 갖고 고정 길이를 갖고 있으므로 할당도나 변수 값의 길이가 이보다 작을 경우에는 그 차이 길이만큼 공간으로 채워짐
- 문자열을 비교할 때 공백을 채워서 비교함. 그래서 ‘AA’ = ‘AA ‘를 비교하면, ‘AA ‘=’AA ‘로 비교해서 같다는 결과를 냄
- 실제 데이터의 길이가 일정한 컬럼에 적합함
- 공백이 추가되어 값이 저장되면 프로그램에서 등가비교시 오류가 날 수 있음
- 한글은 인코딩 설정에 따라 한글자당 3바이트로 인식함
2. VARCHAR
- 가변길이 문자열임
- 최소 길이 1바이트, 최대길이 오라클 4000바이트, SQL Server 8000바이트임
- 최대 길이를 갖지만 가변 길이로 조정이 되기 때문에 할당된 값의 바이트만 적용됨
- 정의된 길이와 실제 데이터 길이에 차이가 있고 실제 데이터 크기가 가변적인 컬럼에 적합함
- 공백도 문자로 취급하므로 공백이 추가되면 다른 문자로 인식함
- 오라클에서 VARVHAR는 추후 별도 데이터형으로 사용할 예정임
참고 출처
https://kasckasc.tistory.com/entry/Oracle-CHAR-VARCHAR-VARCHAR2-%EC%B0%A8%EC%9D%B4
https://velog.io/@ovan/CHAR-VARCHAR2-ORACLE