문자열 데이터 유형
문자열은 가장 일반적으로 사용되는 데이터 유형입니다. 이 데이터 유형은 문자, 숫자, 구두점 및 기타 유효한 문자의 시퀀스를 보유할 수 있습니다.
일반 문자열은 이름, 설명 및 메일 주소입니다. 문자열에 임의의 값을 저장할 수 있지만, 기타 데이터 유형이 부적합한 경우에만 문자열을 사용하십시오. 기타 데이터 유형이 보다 우수한 데이터 유효성 검증과 보다 압축된 스토리지를 제공합니다.
다음 표에는 문자열 데이터 유형이 설명되어 있습니다.
유형 | 값 | 디스크 사용 |
---|---|---|
고정 길이, character(n)(별명 char(n)) | 고정 길이, 공백은 길이 n으로 채워집니다. N의 기본값은 1입니다. 최대 문자열 크기는 64,000입니다. | n이 16 이하인 경우(n바이트). n이 16보다 큰 경우, 디스크 사용량은 varchar(n)과 동일합니다. |
가변 길이, character varying(n)(별명 varchar(n)) | 최대 길이 n까지 가변 길이입니다. 빈 패딩이 없으며 입력한 대로 저장됩니다. 최대 문자열 크기는 64,000입니다. | 실제 데이터에 따라 N+2 또는 그 미만의 바이트입니다. |
고정 길이, 유니코드(별명 nchar(n)) | 고정 길이, 공백은 길이 n으로 채워집니다. 최대 길이는 16,000자입니다. | 자세한 내용은 데이터 유형을 참조하세요. |
가변 길이, 유니코드(별명 nvarchar(n)) | 최대 길이 n까지 가변 길이입니다. 최대 길이는 16,000자입니다. | 자세한 내용은 데이터 유형을 참조하세요. |
최적 문자 데이터 유형을 판별하려면 다음 SQL 명령을 입력하십시오.
system.admin(admin)=> SELECT
MAX(LENGTH(TRIM(column_name))),AVG(LENGTH(TRIM(column_name)))FROM
table_name;
문자 데이터 유형을 선택할 때는 다음 상황을 고려하십시오.
- 데이터가 숫자만인 경우에는 문자 데이터 유형 대신 정수 데이터 유형을 사용하십시오. 예를 들어, 11212345는 VARCHAR 또는 bigint로 정의될 수 있습니다. 특히 분배 또는 조인을 위한 컬럼을 사용 중이면 bigint를 선택하십시오.
- 소스 날짜를 변환 중일 때 MAX 길이가 CHAR 크기 미만인 경우, VARCHAR 대신 CHAR을 사용하십시오. AVG 길이 +2가 CHAR 크기 미만인 경우에는 CHAR 대신 VARCHAR을 사용하십시오.
- 숫자를 문자열 데이터 유형과 비교하면 종종 예상할 수 없는 결과가 발생할 수 있습니다. to_number 변환 함수를 사용하여 문자열을 숫자로 변환할 수 있습니다. 예를 들어,
where to_number(<varchar-column>, '9999') > <integercolumn>