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

10.4. 가치 저장

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

값 저장 유형 변환

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

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

  3. 대상이 고정 길이 유형인 경우(예:문자또는varchar선언됨 길이 포함) 그런 다음 크기 조정 기능을 찾으십시오. 대상 유형. 크기 조정 기능은 동일한 기능입니다. 이름을 유형으로 사용하고 두 인수 중 첫 번째 인수를 취합니다. 그 유형이고 두 번째는 유형입니다.정수, 동일한 유형을 반환합니다. 하나라면 찾은 경우 적용되며 열의 선언된 길이를 전달합니다. 두 번째 매개변수로 사용됩니다.

예 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, 정수)은 시스템 카탈로그에서 발견되며 다음에 적용됩니다. 연산자의 결과와 저장된 열 길이. 이 유형별 함수는 필요한 길이 확인을 수행하고 패딩 공간을 추가합니다.