이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은의 동일한 페이지를 보려고 할 수 있습니다젠 토토 PostgreSQL : 문서 : 17 : 10.5. 연합, 사례 및 관련 구성버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

10.5. Union, CASE및 관련 구성

SQLUnion구조물이 일치해야합니다 아마도 단일 결과 세트가 될 수있는 유형이 다릅니다. 그만큼 해상도 알고리즘은 각 출력 열에 별도로 적용됩니다 노조 쿼리의. 그만큼Intersectand제외Constructs Resolve Ossimilar 와 같은 방식으로 유형Union. 그만큼CASE, 배열, , 가장 큰and최소CORPORTS는 동일한 알고리즘을 사용합니다 구성 요소 표현식을 일치시키고 결과 데이터를 선택하십시오. 유형.

해상도 유형Union, CASE및 관련 구성

  1. 모든 입력이 같은 유형 인 경우알 수없는, 해당 유형으로 해결.

  2. 입력이 도메인 유형 인 경우 모든 후속 단계에 대한 도메인의 기본 유형.[1]

  3. 모든 입력이 유형 인 경우알 수없는, 유형으로 해결텍스트(선호 문자열 범주의 유형). 그렇지 않으면,알 수없는입력은 무시됩니다.

  4. 비 unknown 입력이 모두 같은 유형이 아닌 경우 카테고리, 실패.

  5. a 해당 범주에서 선호하는 유형이 있다면.

  6. 그렇지 않으면 마지막으로 비 unknown 입력 유형을 선택하십시오 앞의 모든 비 unknown 입력을 허용합니다 암시 적으로 그것으로 변환되었습니다. (항상 그런 유형이 있습니다. 적어도 목록의 첫 번째 유형은 이것을 만족시켜야하므로 상태.)

  7. 모든 입력을 선택한 유형으로 변환합니다. 거기에 있으면 실패합니다 주어진 입력에서 선택한 입력으로 변환이 아닙니다. 유형.

일부 예제가 따릅니다.

예 10-9. ultspecified를 사용하여 해상도를 입력하십시오 노조 유형

텍스트 'A'as "text"Union Select 'B';

 텍스트
------
 에이
 비
(2 줄)

여기, 알 수없는 유형의 리터럴'b'유형으로 해결됩니다텍스트.

예 10-10. 간단하게 해상도를 입력하십시오 노동 조합

"Numeric"Union Select 1으로 1.2를 선택하십시오.

 숫자
-------
       1
     1.2
(2 줄)

문자 그대로1.2is type숫자Integervalue1할 수 있습니다 암시 적으로 캐스트숫자, 따라서 해당 유형 사용됩니다.

예 10-11. 변환 된 해상도를 입력하십시오 노동 조합

"Real"Union Select Cast ( '2.2'As real)로 선택하십시오.

 진짜
------
    1
  2.2
(2 줄)

여기, 유형 이후Real할 수 없습니다 암시 적으로 캐스트정수그러나Integer암시 적으로 캐스트 될 수 있습니다Real, 노조 결과 유형이 해결됩니다 처럼Real.

노트

[1]

연산자를위한 도메인 입력 처리와 다소 비슷합니다 그리고 기능,이 동작은 도메인 유형이 A를 통해 보존Union또는 이와 유사합니다 사용자가 모두가 입력은 해당 정확한 유형의 암시 적 또는 명시 적으로입니다. 그렇지 않으면 도메인의 기본 유형이 선호됩니다.