이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 10.4. 가치 토토 캔버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

10.4. 가치 저장

테이블에 삽입될 값은 다음으로 변환됩니다. 다음에 따른 대상 열의 데이터 유형 단계.

값 저장 유형 변환

  1. 대상과 정확히 일치하는지 확인하세요.

  2. 그렇지 않으면 표현식을 대상 유형으로 변환해 보십시오. 둘 사이에 등록된 캐스트가 있으면 성공합니다. 유형. 표현식이 알 수 없는 유형 리터럴인 경우 내용은 리터럴 문자열 중 일부가 입력 변환 루틴에 제공됩니다. 대상 유형에 대해.

  3. 대상 유형에 대한 크기 조정 캐스트가 있는지 확인하십시오. 에이 크기 조정 캐스트는 해당 유형에서 자체로의 캐스트입니다. 하나가 발견되면pg_cast카탈로그에 적용하세요. 대상 열에 저장하기 전의 표현식입니다. 는 이러한 캐스트에 대한 구현 함수는 항상 추가 작업을 수행합니다. 유형의 매개변수정수, 대상 열의atttypmod값 (일반적으로 선언된 길이이지만 해석은 다음과 같습니다.atttypmod데이터에 따라 다름 유형), 3분의 1 정도 걸릴 수 있습니다.부울캐스트가 명시적인지 암시적인지를 나타내는 매개변수입니다. 는 캐스트 함수는 길이에 따른 모든 적용을 담당합니다. 크기 확인이나 잘림과 같은 의미론.

예 10-9.캐릭터저장소 유형 전환

다음으로 선언된 대상 열의 경우문자(20)다음 진술은 저장된 값의 크기가 올바르게 지정되었습니다.

CREATE TABLE vv (v 문자(20));
INSERT INTO vv SELECT 'abc' || '데프';
SELECT v, octet_length(v) FROM vv;

          v | 옥텟_길이
---------+---------------
 ABCDEF |           20
(1행)

여기서 실제로 일어난 일은 두 개의 알려지지 않은 리터럴이 다음으로 결정되었습니다.텍스트기본적으로 다음을 허용합니다.||다음으로 해결될 연산자텍스트연결. 그런 다음텍스트연산자의 결과는 다음으로 변환됩니다.bpchar ("공백으로 채워진 문자", 내부 이름 의문자데이터 유형)과 일치합니다. 대상 열 유형. (변환 이후텍스트bpchar이다 이진 강제 변환이 가능하므로 이 변환은 실제 함수를 삽입하지 않습니다. 호출.) 마지막으로 크기 조정 기능bpchar(bpchar, 정수, 부울)다음에서 발견됩니다. 시스템 카탈로그에 적용되어 운영자의 결과와 저장 열 길이. 이 유형별 기능은 필요한 작업을 수행합니다. 길이 확인 및 패딩 공간 추가