표 5-4. 문자 유형
유형 이름 | 설명 |
---|---|
캐릭터 변동 (n), soi kèo bóng đá truoctran (n) | 한계가있는 가변 길이 |
문자 (n), char (n) | 고정 길이, 블랭크 패딩 |
텍스트 | 가변 무제한 길이 |
표 5-4|PostgreSQL.
SQL두 개의 기본을 정의합니다 문자 유형 :캐릭터 변동 (n)and문자 (n), 여기n긍정적 인 정수입니다. 둘 다 이러한 유형은 줄을 최대로 저장할 수 있습니다n길이의 문자. 저장하려는 시도 이러한 유형의 열에 더 긴 문자열이 오류, 초과 문자가 모든 공간이 아닌 한 문자열은 최대 길이로 잘립니다. (이것 다소 기괴한 예외가 필요합니다.SQL표준.) 저장 될 문자열이있는 경우 선언 된 길이보다 짧고 유형 값캐릭터공간에 둘러싸여 있습니다. 유형의 값캐릭터 다양한간단히 저장합니다 짧은 문자열.
참고 :값을 명시 적으로 값에 캐스트하는 경우문자 다양한 (n)또는문자 (n), 그러면 오버 길이의 값이 잘린다n오류를 올리지 않고 문자. (이것은 또한에 의해 필요합니다SQL표준.)
참고 :이전PostgreSQL7.2, 문자열도 오류를 제기하지 않고 항상 오류가 잘 렸습니다 명시 적 또는 암시 적 주조 상황.
표기법soi kèo bóng đá truoctran (n)andchar (n)별칭입니다 을 위한캐릭터 변동 (n)and문자 (n), 각기.캐릭터길이없이 지정자는에 해당합니다.캐릭터 (1); 만약에캐릭터 다양한길이없이 사용됩니다 지정자, 유형은 모든 크기의 문자열을 허용합니다. 후자는입니다.PostgreSQL확장.
또한PostgreSQL더 일반적인 지원텍스트타입 길이의 줄을 저장합니다. 같지 않은문자 다양한, 텍스트명시 적은 문자열의 크기에 상한을 선언했습니다. 하지만 유형텍스트SQL표준, 다른 많은 RDBMS 패키지가 있습니다 그것도 마찬가지입니다.
이러한 유형의 데이터에 대한 스토리지 요구 사항은 4 바이트입니다. 게다가 실제 문자열,의 경우캐릭터패딩과 함께. 긴 줄은 시스템에 의해 압축되어 자동으로 물리적입니다 디스크의 요구 사항은 적을 수 있습니다. 긴 값도 저장됩니다 배경 테이블이므로 빠른 액세스를 방해하지 않습니다. 더 짧은 열 값. 어쨌든 가장 긴 가능 저장할 수있는 문자 문자열은 약 1GB입니다. (최대 값 허용 될 값n데이터 유형 선언은 그보다 적습니다. 그렇지 않을 것입니다 멀티 바이트 문자로이를 변경하는 데 매우 유용합니다 인코딩 문자 및 바이트 수를 상당히 어쨌든 다른. 긴 줄을 보관하고 싶다면 특정 상한, 사용텍스트또는캐릭터 다양한길이없이 임의의 길이 제한을 구성하기보다는 지정자입니다.)
팁 :성능 차이가 없습니다 이 세 가지 유형은 빈 둥근 유형 사용.
참조섹션 1.1.2.1문자열 리터럴의 구문에 대한 정보, 그리고6 장정보 사용 가능한 운영자 및 기능에 대해.
예 5-1. 문자 유형 사용
테이블 생성 테스트 1 (문자 (4)); test1 값 ( 'Ok')에 삽입; test1에서 a, char_length (a)를 선택하고; -(1) a | char_length ------+---------- OK | 4생성 테이블 test2 (b soi kèo bóng đá truoctran (5)); test2 값 ( 'Ok')에 삽입; test2 값 ( '좋은')에 삽입; test2 값에 삽입 ( '너무 길다');오류 : 유형 문자에 비해 너무 길다 (5)test2 값에 삽입 ( '너무 길다':: soi kèo bóng đá truoctran (5)); - 명시 적 잘림 test2에서 b, char_length (b)를 선택하십시오.b | char_length -------+---------- OK | 2 좋은 | 5 너무 l | 5
char_length
함수
에서 논의PostgreSQL: Tài.두 개의 다른 고정 길이 문자 유형이 있습니다PostgreSQL, 표시테이블 5-5. 그만큼이름유형 존재전용내부의 저장 카탈로그 이름은 일반 사용자가 사용하기위한 것이 아닙니다. 길이는 현재 64 바이트 (63 개의 사용 가능한 문자로 정의됩니다. Plus Terminator) 그러나 상수를 사용하여 참조해야합니다지명. 길이는 컴파일에서 설정됩니다 시간 (따라서 특별 용도로 조정 가능); 기본값 향후 릴리스에서 최대 길이가 변할 수 있습니다. 유형"char"(인용문 참고)char (1)하나만 사용한다는 점에서 저장. 내부적으로 시스템 카탈로그에서 불쌍한 사람의 열거 유형.