이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 8.3. 사설 토토 유형버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

3.3. 문자 와이즈 토토

표 3-4. 문자 와이즈 토토

와이즈 토토 이름 설명
문자 (n), char (n) 고정 길이 블랭크 패딩
캐릭터 변동 (n), varchar (n) 한계가있는 가변 길이
텍스트 가변 무제한 길이

SQL두 개의 기본을 정의합니다 문자 와이즈 토토 :문자 (n)and문자 다양한 (n), 여기서n긍정적 인 정수입니다. 이 둘 다 와이즈 토토은 줄을 최대로 저장할 수 있습니다n길이의 문자. 더 긴 문자열을 a에 저장하려는 시도 이러한 유형의 열이 초과되지 않는 한 오류가 발생합니다. 문자는 모두 공백이며,이 경우 문자열은 최대 길이로 잘립니다. (이 다소 기괴한 예외 SQL 표준에 의해 필요합니다.) 저장 될 문자열이 선언 된 길이보다 짧고 유형 값캐릭터공간이 가득합니다. 와이즈 토토의 값캐릭터 다양한간단히 저장합니다 짧은 문자열.

참고 :이전PostgreSQL7.2, 문자열도 오랫동안 조용히 자르고 오류가 발생하지 않았습니다.

표기법char (n)andvarchar (n)are 별명문자 (n)문자 다양한 (n)각각.캐릭터길이 지정자가 없습니다 동등한문자 (1); 만약에캐릭터 다양한길이 지정자없이 사용됩니다. 이 와이즈 토토은 모든 크기의 문자열을 허용합니다. 후자는입니다.PostgreSQL확장.

또한PostgreSQL더 일반적인 지원텍스트타입 길이의 줄을 저장합니다. 같지 않은문자 다양한, 텍스트명시 적은 문자열의 크기에 상한을 선언했습니다. 하지만 와이즈 토토텍스트SQL 표준이 아닙니다. 다른 많은 RDBMS 패키지도 있습니다.

이러한 와이즈 토토의 데이터에 대한 스토리지 요구 사항은 4 바이트입니다. 게다가 실제 문자열,의 경우캐릭터패딩과 함께. 긴 줄이 될 것입니다 시스템에 의해 압축되어 자동으로 물리적입니다 디스크의 요구 사항은 적을 수 있습니다. 어쨌든 가장 길다 저장할 수있는 가능한 문자열은 약 1GB입니다. (그만큼 허용 될 최대 값n데이터 와이즈 토토의 선언은보다 작습니다 저것. 이를 변경하는 것은 그리 유용하지 않습니다. 멀티 바이트 문자 인코딩 문자 및 바이트 수를 인코딩합니다 어쨌든 상당히 다를 수 있습니다. 오래 보관하고 싶다면 특정 상한이없는 문자열, 사용텍스트또는캐릭터 다양한길이 지정자가없고 임의의를 구성하기보다는 길이 제한.)

팁 :사이에는 성능 차이가 없습니다 이 세 가지 와이즈 토토은 빈 둥근 와이즈 토토 사용.

참조섹션 1.1.2.1String Literals의 구문에 대한 정보, 그리고메이저 토토 사이트 : 문서 : 7.2 : 기능 및 메이저 토토 사이트정보 사용 가능한 운영자 및 기능에 대해.

예 3-1. 문자 와이즈 토토 사용

생성 테이블 테스트 1 (문자 (4));
test1 값 ( 'Ok')에 삽입;
test1에서 a, char_length (a)를 선택하고; -(1)
a | char_length
------+----------
 OK |           4생성 테이블 테스트 2 (b varchar (5));
test2 값 ( 'Ok')에 삽입;
test2 값 ( '좋은')에 삽입;
test2 값에 삽입 ( '너무 길다');오류 : 와이즈 토토 문자에 비해 너무 긴 값 (5)test2에서 b, char_length (b)를 선택하십시오.b | char_length
-------+----------
 OK |           2
 좋은 |           5
(1)
thechar_length함수 에서 논의PostgreSQL : 문서.

두 개의 다른 고정 길이 문자 와이즈 토토이 있습니다PostgreSQL. 그만큼이름와이즈 토토 존재전용내부 저장 카탈로그 이름은 일반 사용자가 사용하기위한 것이 아닙니다. 길이는 현재 32 바이트로 정의됩니다 (31 개의 사용 가능한 문자 Plus Terminator) 그러나 매크로를 사용하여 참조해야합니다지명 된 ATALEN. 길이는 컴파일에서 설정됩니다 시간 (따라서 특별 용도로 조정 가능); 기본값 향후 릴리스에서 최대 길이가 변할 수 있습니다. 와이즈 토토"char"(인용문 참고)는와 다릅니다.char (1)그것은 하나의 바이트 만 사용한다는 점에서 저장. 내부적으로 시스템 카탈로그에서 불쌍한 사람의 열거 와이즈 토토.

표 3-5. 특수 문자 와이즈 토토

와이즈 토토 이름 스토리지 설명
"char" 1 바이트 단일 문자 내부 와이즈 토토
이름 32 바이트 31 개의 문자 내부 와이즈 토토