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

10.4. 가치 토토 베이

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

값 토토 베이 유형 변환

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

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

  3. 대상에 대한 크기 조정 캐스트가 있는지 확인하십시오. 유형. 크기 조정 캐스트는 해당 유형에서 자체로의 캐스트입니다. 만약에 하나는에서 발견됩니다.pg_cast카탈로그에 토토 베이하기 전에 표현식에 적용하세요. 대상 열. 그러한 구현 기능 캐스트는 항상 유형의 추가 매개변수를 취합니다.정수11713_11796atttypmod값; 해석atttypmod다양함 데이터 유형). 캐스트 기능은 적용을 담당합니다. 크기 확인 또는 잘림.

예 10-6.문자스토리지 유형 변환

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

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

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

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