이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 8.3. 사설 토토 유형버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

8.3. 스포츠 토토 유형

표 8.4. 스포츠 토토 유형

이름 설명
스포츠 토토 다양(n), varchar(n) 제한이 있는 가변 길이
스포츠 토토(n), 스포츠 토토(n) 고정 길이, 공백 패딩
텍스트 변수 무제한 길이

표 8.4다음에서 사용할 수 있는 범용 스포츠 토토 유형을 표시합니다.포스트그레SQL.

SQL두 가지 기본 스포츠 토토 유형을 정의합니다:스포츠 토토 다양(n)그리고스포츠 토토(n), 여기서n은 양의 정수입니다. 이 두 유형 모두 최대의 스포츠 토토열을 저장할 수 있습니다.n스포츠 토토(바이트 아님) 길이입니다. 이러한 유형의 열에 더 긴 스포츠 토토열을 저장하려고 시도하면 초과 스포츠 토토가 모두 공백이 아닌 한 오류가 발생합니다. 이 경우 스포츠 토토열은 최대 길이로 잘립니다. (이 다소 기괴한 예외는 다음에서 요구됩니다.SQLstandard.) 저장할 스포츠 토토열이 선언된 길이보다 짧은 경우 유형의 값은스포츠 토토스페이스가 채워집니다. 유형 값스포츠 토토 다양함단순히 짧은 스포츠 토토열을 저장합니다.

명시적으로 값을 캐스팅하는 경우스포츠 토토 다양(n)또는스포츠 토토(n), 길이를 초과하는 값은 다음으로 잘립니다.n오류가 발생하지 않는 스포츠 토토입니다. (이 역시 다음에서 요구됩니다.SQL표준.)

표기법varchar(n)그리고스포츠 토토(n)다음의 별칭입니다.스포츠 토토 다양(n)그리고스포츠 토토(n)입니다. 지정된 경우 길이는 0보다 커야 하며 10485760을 초과할 수 없습니다.스포츠 토토길이 지정자가 없는 것은 다음과 같습니다.스포츠 토토(1). 만일스포츠 토토 다양는 길이 지정자 없이 사용되며 유형은 모든 크기의 스포츠 토토열을 허용합니다. 후자는PostgreSQL확장.

또한,PostgreSQL제공텍스트유형: 모든 길이의 스포츠 토토열을 저장합니다. 유형이지만텍스트다음에 없습니다SQL표준, 다른 여러 SQL 데이터베이스 관리 시스템에도 이 표준이 있습니다.

유형 값스포츠 토토지정된 너비까지 공백으로 물리적으로 채워집니다.n, 그런 식으로 저장되고 표시됩니다. 그러나 후행 공백은 의미상 중요하지 않은 것으로 간주되며 type의 두 값을 비교할 때 무시됩니다.스포츠 토토. 공백이 중요한 데이터 정렬에서는 이 동작으로 인해 예상치 못한 결과가 발생할 수 있습니다. 예를 들어SELECT 'a '::CHAR(2) 대조 "C" < E'a\n'::CHAR(2)그래도 true를 반환합니다.C로케일은 공백이 줄바꿈보다 큰 것으로 간주합니다. a를 변환할 때 후행 공백이 제거됩니다.스포츠 토토값을 다른 스포츠 토토열 유형 중 하나로 변경합니다. 후행 공백에 유의하세요.아르의미적으로 중요한스포츠 토토 다양함그리고텍스트값, 패턴 일치를 사용할 때 즉좋아요및 정규식.

이러한 데이터 유형에 저장될 수 있는 스포츠 토토는 데이터베이스가 생성될 때 선택되는 데이터베이스 스포츠 토토 집합에 의해 결정됩니다. 특정 스포츠 토토 집합에 관계없이 코드 0(NUL이라고도 함)이 있는 스포츠 토토는 저장할 수 없습니다. 자세한 내용은 다음을 참조하세요.섹션 23.3.

짧은 스포츠 토토열(최대 126바이트)에 대한 저장 요구 사항은 1바이트에 실제 스포츠 토토열을 더한 것입니다. 여기에는 다음의 경우 공백 패딩이 포함됩니다.스포츠 토토. 긴 스포츠 토토열에는 1바이트가 아닌 4바이트의 오버헤드가 있습니다. 긴 스포츠 토토열은 시스템에서 자동으로 압축되므로 디스크의 물리적 요구 사항이 더 적을 수 있습니다. 매우 긴 값은 짧은 열 값에 대한 빠른 액세스를 방해하지 않도록 백그라운드 테이블에도 저장됩니다. 어쨌든 저장할 수 있는 가장 긴 스포츠 토토열은 약 1GB입니다. (허용되는 최대값n데이터 유형 선언의 값이 그보다 작습니다. 멀티바이트 스포츠 토토 인코딩을 사용하면 스포츠 토토 수와 바이트 수가 상당히 다를 수 있으므로 이를 변경하는 것은 유용하지 않습니다. 특정 상한선 없이 긴 스포츠 토토열을 저장하려면 다음을 사용하세요.텍스트또는스포츠 토토 다양길이 지정자 없이 임의의 길이 제한을 구성하는 대신.)

공백 패딩 유형을 사용할 때 저장 공간이 늘어나고 길이가 제한된 열에 저장할 때 길이를 확인하기 위한 몇 가지 추가 CPU 주기를 제외하고는 이 세 가지 유형 간에 성능 차이가 없습니다. 동안스포츠 토토(n)일부 다른 데이터베이스 시스템에서는 성능 이점이 있지만 다음에는 그러한 이점이 없습니다.포스트그레SQL; 사실스포츠 토토(n)은 추가 저장 비용으로 인해 일반적으로 세 가지 중 가장 느립니다. 대부분의 상황에서텍스트또는스포츠 토토 다양대신 사용해야 합니다.

참조섹션 4.1.2.1스포츠 토토열 리터럴의 구문에 대한 정보PostgreSQL : 문서 : 11 : 9 장. 토토 캔 및 연산자사용 가능한 연산자 및 함수에 대한 정보.

예 8.1. 스포츠 토토 유형 사용

CREATE TABLE test1 (스포츠 토토(4));
test1 값에 삽입('확인');
SELECT a, char_length(a) FROM test1; --(1)
a | char_length
------+---------------
 알았어 |           2CREATE TABLE test2 (b varchar(5));
test2 값에 삽입('확인');
test2 값에 삽입('양호');
test2 값에 삽입('너무 깁니다');오류: 유형 스포츠 토토 변경에 비해 값이 너무 깁니다(5)INSERT INTO test2 VALUES ('너무 깁니다'::varchar(5)); -- 명시적 잘림
SELECT b, char_length(b) FROM test2;b | char_length
-----+-------------
 알았어 |           2
 좋아 |           5
 나도 |           5

(1)

char_length함수는 다음에서 논의됩니다.PostgreSQL : 문서 : 11 : 9.4. 토토 사이트 추천 함수 및 연산자.


다음에는 두 가지 다른 고정 길이 스포츠 토토 유형이 있습니다.PostgreSQL, 표시됨표 8.5.이름유형이 존재함내부 시스템 카탈로그에 식별자를 저장하기 위한 것이며 일반 사용자가 사용하기 위한 것이 아닙니다. 해당 길이는 현재 64바이트(63개의 사용 가능한 스포츠 토토 + 종결자)로 정의되어 있지만 상수를 사용하여 참조해야 합니다.NAMEDATALENC소스 코드. 길이는 컴파일 타임에 설정됩니다(따라서 특별한 용도로 조정 가능). 기본 최대 길이는 향후 릴리스에서 변경될 수 있습니다. 유형"스포츠 토토"(따옴표 참고)는 다음과 다릅니다.스포츠 토토(1)단지 1바이트의 저장 공간만 사용합니다. 이는 시스템 카탈로그에서 단순한 열거 유형으로 내부적으로 사용됩니다.

표 8.5. 특수 스포츠 토토 유형

이름 저장소 크기 설명
"스포츠 토토" 1바이트 싱글바이트 내부 유형
이름 64바이트 객체 이름의 내부 유형