노조 및 사례 구성이 일치해야합니다 단일 결과 세트가되는 유형이 다릅니다. 해상도 알고리즘은 UNION의 각 출력 열에 별도로 적용됩니다. CASE는 동일한 알고리즘을 사용하여 결과를 일치시킵니다. 표현.
Union and Case Type 해상도
모든 입력이 유형 인 경우알 수없는, 유형으로 해결텍스트(선호 문자열 카테고리에 유형). 그렇지 않으면 무시알 수없는유형을 선택하는 동안 입력.
비 unknown 입력이 모두 같은 유형이 아닌 경우 카테고리, 실패.
하나 이상이 아닌 입력이 선호되는 경우 해당 범주를 입력하고 해당 유형으로 해결하십시오.
그렇지 않으면, 첫 번째 비 unknown의 유형으로 해결하십시오 입력.
모든 입력을 선택한 유형으로 강요합니다.
tgl = 텍스트 'a'as "text"Union Select 'b'; 텍스트 ------ 에이 비 (2 줄)여기, 알 수없는 문자 문자 'b'는 유형으로 해결됩니다. 텍스트.
TGL = SELECT 1.2 AS "Double"Union Select 1; 더블 -------- 1 1.2 (2 줄)
여기서 노조의 출력 유형은 연합의 첫 번째/상단 조항의 유형 :
TGL = "모든 정수"로 1을 선택하십시오. tgr- Union Select Cast ( '2.2'로 실제); 모든 정수 -------------- 1 2 (2 줄)
이후Real선호하는 유형이 아닙니다. 파서는 그것을 선택할 이유가 없습니다정수(이것은 1 인) 대신 최초의 대안 규칙을 사용합니다. 이것 예는 바람직한 유형 메커니즘을 보여줍니다 우리가 원하는만큼 많은 정보를 인코딩하지 않습니다. 미래 버전Postgres5 월 유형 선호도의보다 일반적인 개념을 지원합니다.