카탈로그pg_cast데이터를 저장합니다 기본 제공 경로와 다음으로 정의된 경로 모두 유형 변환 경로캐스트 만들기.
표 42-11.pg_cast열
| 이름 | 유형 | 참고자료 | 설명 |
|---|---|---|---|
| castsource | oid | pg_type.oid | 소스 데이터 유형의 OID |
| casttarget | oid | pg_type.oid | 대상 데이터 유형의 OID |
| castfunc | oid | pg_proc.oid | 이 캐스트를 수행하는 데 사용할 함수의 OID입니다. 데이터 유형이 이진 호환되는 경우 0이 저장됩니다. (즉, 다음 작업을 수행하는 데 런타임 작업이 필요하지 않습니다. 출연). |
| 캐스트컨텍스트 | 문자 | 캐스트가 호출될 수 있는 컨텍스트를 나타냅니다.e명시적 캐스트로만 의미됩니다. (사용 중캐스트또는::구문).a은(는) 대상 열에 암시적으로 할당됨을 의미합니다. 명시적으로도 그렇습니다.i의미 다른 표현뿐만 아니라 표현에서도 암시적으로 경우. |
다음에 나열된 캐스트 함수pg_cast항상 캐스트 소스 유형을 사용해야 합니다. 첫 번째 인수 유형으로 사용하고 캐스트 대상을 반환합니다. 결과 유형으로 입력하세요. 캐스트 함수는 최대 3개까지 가질 수 있습니다. 인수. 두 번째 인수가 있는 경우 유형이어야 합니다.정수; 유형 수정자를 받습니다. 대상 유형과 연관되어 있거나-1아무것도 없으면. 세 번째 인수인 경우 존재하며 유형이어야 합니다.부울; 그것은 받는다참캐스트가 명시적 캐스트인 경우,거짓그렇지 않으면.
다음을 생성하는 것은 합법적입니다.pg_cast소스와 대상이 있는 항목 연관된 기능이 하나의 주장. 이러한 항목은 다음을 나타냅니다."길이 강제 함수"다음 유형의 값을 강제로 적용합니다. 특정 유형 수정자 값에 적합합니다. 그러나 참고 현재는 기본이 아닌 유형 연결을 지원하지 않습니다. 사용자가 생성한 데이터 유형이 있는 수정자이므로 이 기능은 유형이 있는 소수의 내장 유형에만 사용됩니다. 문법에 내장된 수정자 구문입니다.
때pg_cast항목이 다릅니다 소스 및 대상 유형과 둘 이상을 취하는 함수 인수는 한 유형에서 다른 유형으로 변환하는 것을 나타냅니다. 단일 단계로 길이 강제를 적용합니다. 그러한 항목이 없을 때 사용 가능, 유형 수정자를 사용하는 유형으로 강제 변환 두 단계가 필요합니다. 하나는 데이터 유형 간을 변환하고 두 번째로 수정자를 적용합니다.