표 8-4. 토토 핫 유형
이름 | 설명 |
---|---|
캐릭터 변동 (n), varchar (n) | 한계가있는 가변 길이 |
토토 핫 (n), char (n) | 고정 길이, 블랭크 패딩 |
텍스트 | 가변 무제한 길이 |
표 8-4postgresql.
SQL두 개의 기본을 정의합니다 토토 핫 유형 :캐릭터 변동 (n)and토토 핫 (n12530_12533, 여기n긍정적 인 정수입니다. 둘 다 이러한 유형은 줄을 최대로 저장할 수 있습니다n길이의 토토 핫. 저장하려는 시도 이러한 유형의 열에 더 긴 토토 핫열이 오류, 초과 토토 핫가 모든 공간이 아닌 한 토토 핫열은 최대 길이로 잘립니다. (이것 다소 기괴한 예외가 필요합니다.SQL표준.) 저장 될 토토 핫열이있는 경우 선언 된 길이보다 짧고 유형 값캐릭터공간이 가득합니다. 유형의 값캐릭터 다양한간단히 저장합니다 짧은 토토 핫열.
값을 명시 적으로 값에 캐스트하는 경우토토 핫 다양한 (n)또는토토 핫 (n)오버 길이의 값은n오류를 올리지 않고 토토 핫. (이것은 또한에 의해 필요합니다SQL표준.)
표기법varchar (n)andchar (n)별칭입니다 을 위한캐릭터 변동 (n)and토토 핫 (n), 각기.캐릭터길이없이 지정자는에 해당합니다.토토 핫 (1). 만약에캐릭터 다양한길이없이 사용됩니다 지정자, 유형은 모든 크기의 토토 핫열을 허용합니다. 후자는입니다.PostgreSQL확장.
또한PostgreSQL제공텍스트유형 길이의 토토 핫열. 비록 유형텍스트SQL표준, 기타 여러 SQL 데이터베이스 관리 시스템도 있습니다.
유형의 값캐릭터물리적입니다 지정된 너비에 공백으로 패딩n, 저장 및 그 방식으로 표시됩니다. 그러나 패딩 공간은 의미 적으로 처리됩니다 의미 없는. 두 가지를 비교할 때 후행 공간이 무시됩니다 유형의 값캐릭터변환 할 때 제거캐릭터값 다른 토토 핫열 유형 중 하나에. 후행 공간are의미 적으로 유의미한캐릭터 다양한and텍스트값.
이러한 유형의 데이터에 대한 스토리지 요구 사항은 4 바이트입니다. 게다가 실제 토토 핫열,의 경우캐릭터패딩과 함께. 긴 줄은 시스템에 의해 압축되어 자동으로 물리적입니다 디스크의 요구 사항은 적을 수 있습니다. 긴 값도 저장됩니다 배경 테이블이므로 빠른 접근을 방해하지 않습니다. 더 짧은 열 값. 어쨌든 가장 긴 가능 저장할 수있는 문자 문자열은 약 1GB입니다. (최대 값 허용 될 값n데이터 유형 선언은 그보다 적습니다. 그렇지 않을 것입니다 멀티 바이트 토토 핫로이를 변경하는 데 매우 유용합니다 인코딩 토토 핫 및 바이트 수를 상당히 어쨌든 다른. 긴 줄을 보관하고 싶다면 특정 상한, 사용텍스트또는캐릭터 다양한길이없이 임의의 길이 제한을 구성하기보다는 지정자입니다.)
팁 :성능 차이가 없습니다 이 세 가지 유형은 빈 배치 유형을 사용합니다. 하는 동안토토 핫 (n)다른 데이터베이스 시스템의 성능 장점 그러한 장점 없음postgresql. 대부분의 상황에서텍스트또는캐릭터 다양한대신 사용해야합니다.
참조섹션 4.1.2.1토토 핫열 리터럴의 구문에 대한 정보 및 to토토 핫 : 문서 : 8.2 : 기능 및 연산자정보에 대한 정보 사용 가능한 연산자 및 기능. 데이터베이스 문자 세트 텍스트 값을 저장하는 데 사용되는 문자 세트를 결정합니다. ~을 위한 문자 세트 지원에 대한 자세한 내용은 참조섹션 21.2.
예 8-1. 토토 핫 유형 사용
테이블 생성 테스트 1 (토토 핫 (4)); test1 값 ( 'Ok')에 삽입; test1에서 a, char_length (a)를 선택하고; -(1) a | char_length ------+---------- OK | 2생성 테이블 test2 (b varchar (5)); test2 값 ( 'Ok')에 삽입; test2 값 ( '좋은')에 삽입; test2 값에 삽입 ( '너무 길다');오류 : 유형 토토 핫에 비해 너무 긴 값 (5)test2 값에 삽입 ( '너무 길다':: varchar (5)); - 명시 적 잘림 test2에서 b, char_length (b)를 선택하십시오.b | char_length -------+---------- OK | 2 좋은 | 5 너무 l | 5
char_length
함수
에서 논의PostgreSQL : 문서.두 개의 다른 고정 길이 토토 핫 유형이 있습니다PostgreSQL, 표시테이블 8-5. 그만큼이름유형 존재전용식별자 저장 내부 시스템은 카탈로그이며 일반 사용자. 길이는 현재 64 바이트로 정의됩니다 (63 사용 가능한 문자 + 종료기) 그러나 사용을 참조해야합니다 상수paminatalen. 길이는입니다 컴파일 시간에 설정 (따라서 특수 용으로 조정 가능) 용도); 기본 최대 길이는 향후 릴리스에서 변경 될 수 있습니다. 유형"char"(인용문 참고)입니다 와 다릅니다char (1)만 사용한다는 점에서 1 바이트의 저장. 시스템 카탈로그에 내부적으로 사용됩니다 가난한 사람의 열거 유형으로.