CHAR vs VARACHAR2

 

VARCHAR2 특성 및 비교 메카니즘

 

-Variable length character string(최대 4,000 characters)

-Internal code:1(Datatype Code)

-데이터가 가변인 경우나 Null 값 입력이 많은 경우에 적용 유리

-다른 타입에 비해 제한이 적고 일부 입력시 뒷 부분은 NULL

-지정된 길이보다 긴 데이터 입력시 오류발생

-Chaining 현상이 발생할 가능성이 많으나 이는 적절한 PCTFREE값을 설정하거나 default constraint를 설정함으로써 피할 수도 있다.

-참고로 어떤 E컨설팅에서 수행하는 project의 경우는 모두 VARCHAR2 type을 사용하는 경우도 있음

-서로 다른 문자가 나올 때까지 비교

-길이가 다르면 짧은 것이 끝날 때까지만 비교

-길이도 같고 Type도 같다면 비교시 같다고 판단

 

 

 

 

 

CHAR vs VARCHAR2

 

*CHAR 특성 및 비교 메카니즘

-Fixed length character string(최대 2,000 characters)

-Internal code: 96(Datatype Code)

-데이터가 고정길이인 경우 적용

-컬럼의 길이가 짧고 거의 모든 데이터의 길이가 일정 Size를 넘는 경우에 적용하면 이득이 있다.

-부분적으로 입력시 나머진 BLANK가 채워짐

-전혀 값을 주지 않으면 Null 상태로 입력(Nullable 경우)

-특히 가변길이로 지정시 많은 Chain 현상 발생이 우려되는 경우나 Row 생성후 바로 데이터 입력시에는 default constraint ' (blank)를 지정하는 것도 좋은 방법임

-지정된 길이보다 긴 데이터 입력시 에러 발생

-길이의 편차가 심한 경우에는 block 저장 공간의 낭비 및 수행 속도 저하를 가져옴

-Length가 서로 다르면 짧은 쪽에 space를 추가하여 길이를 같게 한 후 비교함

-서로 다른 문자가 나올 때까지 비교(크기 비교도 같음)

-BLANK의 수만 다르다면 서로 같은 값

 

 

 

상수값, CHAR, VARCHAR2 비교

 

*상수값과 CHAR와 VARCHAR2 데이터 타입의 비교

 

 

상수값, CHAR, VARCHAR2 비교

 

*예제 데이터 생성

 

 

문자형 데이터 타입과 문자 상수 비교 방법

 

*비교 방법

 

-문자 상수는 문자 데이터 타입으로 내부 변환되어 문자 타입의 비교 방식에 의해 처리

-주의

。동일한 문자 상수를 비교하는 경우에도 비교 대상 칼럼의 데이터 타입에 따라 비교 결과가 달라질 수 있음

-문자 상수와 CHAR 데이터 타입 비교

。문자 상수를 CHAR 타입으로 변환한 후, CHAR와 CHAR 비교 방식으로 비교

-문자 상수와 VARCHAR2 데이터 타입 비교

。문자 상수를 VARCHAR2 타입으로 변환한 후 VARCHAR2와 VARCHAR2 비교 방식에 의해 비교

 

 

 

 

문자형 데이터 타입의 비교 방법

 

*CHAR와 CHAR 데이터 타입의 비교 방법

 

 

 *CHAR와 VARCHA2 데이터 타입의 비교 방법

 

VARCHAR2 데이터 타입

 

*개요

-가변 길이의 문자열을 저장하기 위해 사용하는 데이터 타입

-최대 4,000 바이트 저장 가능

-지정된 길이보다 짧은 문자열이 입력되면 뒷부분은 NULL로 처리되어 저장공간을 낭비하지 않음

 

 

-특징

。데이터 입력시 사용자가 값을 입력하지 않으면 NULL이 입력

。지정된 길이보단 긴 데이터가 입력되면 데이터가 입력되지 않고 오류 발생

。입력될 데이터의 편차가 심하거나 NULL이 많이 입력되는 경우에 사용하는 것이 효율적

。실무에서는 CHAR 데이터 타입보다 VARCHAR2를 많이 사용

 

 

 

 

CHAR 데이터 타입

 

*개요

-고정 길이의 문자열을 저장하며 최대 2,000바이트까지 저장 가능

-지정된 길이보다 짧은 데이터가 입력되는 경우, 나머지 공간은 공백으로 채워짐

 

 

-특징

。데이터 입력시 사용자가 데이터를 입력하지 않으면 NULL이 입력

。지정된 길이보다 긴 데이터가 입력되면 오류 발생

。주소 데이터와 같은 편차가 심한 데이터를 입력할 때 사용하면 저장공간이 낭비될 수 있음

。주민등록번호와 같이 길이가 일정하거나 비슷한 경우에 사용하는 것이 좋음

 

 

 

+ Recent posts