롤 토토 : 문서 : 9.5 | |||
---|---|---|---|
이전 | PostgreSQL : 문서 : 9.5 : 범퍼카 토토 변환 | 10 장. 변환 유형 | PostgreSQL : 문서 : 9.5 : 토토 핫, Case 및 관련 구성 |
테이블에 삽입 할 값은 다음 단계에 따라 대상 열의 데이터 유형으로 변환됩니다.
값 저장 유형 변환
대상과 정확히 일치하는지 확인하십시오.
그렇지 않으면 표현식을 대상 유형으로 변환하십시오. AN이 가능합니다.과제 캐스트두 유형 사이에pg_cast카탈로그 (참조캐스트 만들기). 또는 표현식이 알려지지 않은 유형 문자 인 경우, 문자 그대로 문자열의 내용은 대상 유형의 입력 변환 루틴에 공급됩니다..
대상 유형에 대한 크기 캐스트가 있는지 확인하십시오. 사이징 캐스트는 그 유형에서 그 자체로 캐스트입니다.pg_cast카탈로그, 대상 열에 저장하기 전에 표현식에 적용하십시오. 이러한 캐스트의 구현 함수는 항상 유형의 추가 매개 변수를 취합니다정수, 대상 열을받는atttypmod값 (일반적으로 선언 된 길이, 그러나 해석은atttypmod데이터 유형마다 다릅니다).부울캐스트가 명시 적인지 암시 적인지를 나타내는 매개 변수. 캐스트 함수는 크기 점검 또는 잘림과 같은 길이 의존적 의미를 적용 할 책임이 있습니다.
예 10-9.캐릭터스토리지 유형 변환
대상 열은문자 (20)다음 진술은 저장된 값이 올바르게 크기가 있음을 보여줍니다.
테이블 생성 VV (V 문자 (20));
여기서 실제로 일어난 일은 두 개의 알 수없는 리터럴이 해결된다는 것입니다텍스트기본적으로, 허용||운영자가 해결 될텍스트연결. 그런 다음텍스트운영자의 결과가로 변환되었습니다.BPCHAR ("Blank-Padded Char", 내부 이름캐릭터데이터 유형) 대상 열 유형과 일치합니다. (전환 이후텍스트toBPCHAR이진을 통합 할 수 있습니다.이 변환은 실제 기능 호출을 삽입하지 않습니다.) 마지막으로, 사이징 함수BPCHAR (BPCHAR, Integer, Boolean)시스템 카탈로그에서 찾을 수 있으며 연산자의 결과 및 저장된 열 길이에 적용됩니다. 이 유형별 기능은 패딩 공간의 필요한 길이 점검 및 추가를 수행합니다.