CREATE CAST (sourceTypeasTargetType) 함수funcName(Argtype) [과제 | 암시 적] CAST CAST (SourceTypeasTargetType) 기능없이 [과제 | 암시 적으로]
캐스트 만들기새 출연진을 정의합니다. 에이 캐스트 두 데이터 간의 변환을 수행하는 방법을 지정합니다. 유형. 예를 들어,
CAST (42 as Text); 선택
정수 상수 42를 유형으로 변환텍스트이전에 지정된 함수를 호출하여 이 사례텍스트 (int4). (적합하지 않은 경우 캐스트가 정의되어 전환이 실패합니다.)
두 가지 유형 일 수 있습니다이진 호환, 이는 서로 변환 될 수 있음을 의미합니다"무료"기능. 이를 위해서는 해당 값이 동일하게 사용해야합니다 내부 표현. 예를 들어, 유형텍스트andVarchar이진입니다 호환.
기본적으로 캐스트는 명시적인 캐스트에 의해서만 호출 될 수 있습니다. 요청, 그것은 명백한 것입니다cast (xastypename), x::typename또는typename(x) 건설하다.
캐스트가 표시된 경우과제그런 다음 열에 할당 할 때 암시 적으로 호출 될 수 있습니다. 대상 데이터 유형. 예를 들어, 그렇게 가정foo.f1유형의 열텍스트,
foo (f1) 값 (42);에 삽입
유형에서 캐스트가 허용됩니다정수to Type텍스트표시과제, 그렇지 않으면. (우리 일반적으로 용어 사용과제 캐스트이런 종류의 캐스트를 설명하려면)
캐스트가 표시된 경우암시 적그러면 어떤 맥락에서도 암시 적으로 호출 될 수 있습니다. 할당 또는 내부적으로 표현식. 예를 들어, 이후||테이크텍스트인수,
'시간은'||를 선택합니다 지금();
유형에서 캐스트가있는 경우에만 허용됩니다타임 스탬프to텍스트표시암시 적. 그렇지 않으면 그럴 것입니다 예를 들어 캐스트를 명시 적으로 작성해야합니다.
'시간은'||를 선택합니다 cast (now ()로 텍스트로);
(우리는 일반적 으로이 용어를 사용합니다암시 적 깁스이런 종류의 캐스트를 설명하려면)
캐스트를 암시 적으로 표시하는 것에 대해 보수적 인 것이 현명합니다. 암시 적 주조 경로의 과잉이 유발할 수 있습니다사설 토토 사이트놀라운 선택 명령 해석 또는 명령을 해결할 수 없도록 여러 가지 가능한 해석이 있기 때문에 전혀 없습니다. 에이 좋은 경험의 규칙 정보를 예방하는 유형 간의 변환 동일한 일반 유형 범주. 예를 들어, 캐스트int2toint4합리적으로 할 수 있습니다 암시 적이지만의 캐스트float8toint4아마도 과제 전용이어야합니다. 과 같은 크로스 유형 카테고리 캐스트텍스트toint4, 명시 적 전용이 가장 좋습니다.
캐스트를 만들 수 있으려면 출처 또는 대상 데이터 유형. 이진 호환 캐스트를 만들려면해야합니다 슈퍼 서서 (이 제한은 잘못 되었기 때문에 이루어집니다 이진 호환 캐스트 변환은 쉽게 충돌 할 수 있습니다 섬기는 사람).
매개 변수
캐스트의 소스 데이터 유형의 이름.
캐스트의 대상 데이터 유형의 이름.
캐스트를 수행하는 데 사용되는 함수. 함수 이름 스키마 자격이있을 수 있습니다. 그렇지 않은 경우 기능이 있습니다 길을 찾았습니다. 인수 유형은 동일해야합니다 소스 유형에 결과 데이터 유형이 일치해야합니다. 캐스트의 대상 유형.
소스 유형과 대상 유형이 바이너리 호환성이 있으므로 수행 할 기능이 필요하지 않습니다 캐스트.
캐스트가 암시 적으로 호출 될 수 있음을 나타냅니다 과제 컨텍스트.
캐스트가 암시 적으로 호출 될 수 있음을 나타냅니다. 문맥.
use드롭 캐스트사용자 정의를 제거합니다 캐스트.
유형을 변환 할 수 있다면 두 가지를 기억하십시오. 두 가지 방법을 명시 적으로 선언 해야하는 방법.
사설 토토 사이트 7.3 이전, 동일한 이름을 가진 모든 기능 데이터 유형으로서 해당 데이터 유형을 반환하고 다른 유형은 자동으로 캐스트 함수였습니다. 이것 도입에 직면하여 컨벤션이 버려졌습니다. 스키마 및 이진 호환 캐스트를 대표 할 수 있도록 카탈로그. (내장 캐스트 기능은 여전히이를 따릅니다 이름 지정 체계이지만, 캐스트로 표시되어야합니다pg_castnow.)
유형에서 캐스트를 만들려면텍스트to Typeint4함수 사용int4 (텍스트):
함수 int4 (text);로 캐스트를 작성 (텍스트 at int4)를 만듭니다.
(이 캐스트는 이미 시스템에서 사전 정의되어 있습니다.)
PostgreSQL : 문서 : 7.3 : 토토 핫 만들기, PostgreSQL : 문서 : 7.3 : 토토 캔 생성, PostgreSQL : 문서 : 7.3 : 드롭 토토 결과, 사설 토토 사이트 프로그래머 안내서