이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다토토 핫 : 문서 : 17 : 51.10. pg_cast버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

47.10. PG_CAST

카탈로그pg_cast저장 데이터 유형 내장 및 사용자 정의 둘 다 전환 경로.

pg_cast시스템이 방법을 알고있는 모든 유형 변환을 나타내지는 않습니다. 공연하다; 일반적인 규칙에서 추론 할 수없는 것만. 예를 들어 도메인과 기본 유형 사이의 캐스팅은 명시 적으로 표현pg_cast. 또 다른 중요한 예외는"자동 I/O 변환 캐스트 ", 데이터 유형을 사용하여 수행 된 것 자신의 I/O 기능을 전환 할 수 있습니다텍스트또는 다른 문자열 유형은 명시 적으로 표시되지 않습니다.pg_cast.

표 47-10.pg_cast

이름 type 참조 설명
OID OID 행 식별자 (숨겨진 속성; 명시 적으로 있어야합니다 선택된)
CastSource OID pg_type.Oid 소스 데이터 유형의 OID
CastTarget OID pg_type.Oid 대상 데이터 유형의 OID
castfunc OID PG_PROC.Oid 이 캐스트를 수행하는 데 사용할 함수의 OID. 제로입니다 캐스트 메소드에 함수가 필요하지 않은 경우 저장.
CastContext char 캐스트가 어떤 컨텍스트를 호출 할 수 있는지를 나타냅니다.e명시 적 캐스트로만 (사용을 의미합니다.캐스트또는::구문).aa 대상 열 및 명시 적으로.i다른 경우뿐만 아니라 표현식에서 암시 적으로 의미합니다.
CastMethod char 캐스트의 수행 방법을 나타냅니다.f|castfunc필드가 사용됩니다.i입력/출력 함수가 사용되었음을 의미합니다.B유형이 있음을 의미합니다 이진 계약 가능성이 있으므로 전환이 필요하지 않습니다.

나열된 캐스트 함수pg_cast항상 캐스트 소스 유형을 첫 번째 인수 유형으로 취해야합니다. 캐스트 대상 유형을 결과 유형으로 반환합니다. 캐스트 함수는 최대 세 가지 인수를 가질 수 있습니다. 두 번째 논쟁, if 현재, 유형이어야합니다Integer; 그것은받습니다 대상 유형과 관련된 유형 수정 자, 또는 -1 if 아무것도 없습니다. 세 번째 인수는 존재하는 경우 유형이어야합니다부울; 수신true캐스트가 명시적인 캐스트 인 경우거짓그렇지 않으면.

A를 만드는 것은 합법적입니다pg_cast소스 및 대상 유형이 동일 한 항목 관련 함수는 하나 이상의 인수를 취합니다. 그러한 항목 대표하다"길이 강요 기능"특정 유형에 대해 합법적 인 유형의 코어 값 수정 자 값.

언제PG_CAST항목이 다릅니다 소스 및 대상 유형 및 둘 이상을 취하는 함수 인수, 그것은 한 유형에서 다른 유형으로 변환하는 것을 나타냅니다. 단일 단계에서 길이 강요를 적용합니다. 그러한 항목이 없을 때 사용 가능한 경우 유형 수정자를 사용하는 유형에 대한 강요 데이터 유형간에 변환하는 두 단계, 적용 할 1 초 수정 자.