10.5. Union, case및 관련 구성

SQLUnion구성은 단일 결과 세트가 되려면 다른 유형을 일치시켜야합니다. 해상도 알고리즘은 Union 쿼리의 각 출력 열에 별도로 적용됩니다. 그만큼Intersectand제외CROPORTS는와 같은 방식으로 다른 배트맨 토토을 해결합니다Union. 를 포함한 일부 다른 구조물CASE, 배열, 가장 큰and최소함수, 동일한 알고리즘을 사용하여 구성 요소 표현식을 일치시키고 결과 데이터 배트맨 토토을 선택합니다.

해상도 배트맨 토토Union, CASE및 관련 구성

  1. 모든 입력이 같은 배트맨 토토 인 경우알 수없는, 해당 배트맨 토토으로 해결.

  2. 입력이 도메인 배트맨 토토 인 경우 모든 후속 단계에 대해 도메인의 기본 배트맨 토토으로 취급하십시오.[12]

  3. 모든 입력이 배트맨 토토 인 경우알 수없는, 배트맨 토토으로 해결텍스트(스트링 범주의 선호하는 배트맨 토토). 그렇지 않으면,알 수없는나머지 규칙의 목적 상 입력이 무시됩니다.

  4. 비 unknown 입력이 모두 동일한 배트맨 토토 범주가 아닌 경우 실패합니다.

  5. 첫 번째 비 unknown 입력 배트맨 토토을 후보 배트맨 토토으로 선택한 다음 서로를 고려하지 않은 입력 배트맨 토토, 왼쪽에서 오른쪽으로 고려하십시오.[13]후보 배트맨 토토을 다른 배트맨 토토으로 암시 적으로 변환 할 수 있지만 그 반대가 아닌 경우 다른 배트맨 토토을 새 후보 배트맨 토토으로 선택하십시오. 그런 다음 나머지 입력을 계속 고려하십시오. 이 프로세스의 어느 단계에서 선호하는 배트맨 토토이 선택된 경우 추가 입력을 고려하여 중지하십시오.

  6. 모든 입력을 최종 후보 배트맨 토토으로 변환합니다. 주어진 입력 배트맨 토토에서 후보 배트맨 토토으로 암시 적 변환이없는 경우 실패.

일부 예제가 따릅니다.

예 10.10. Union에서 지정된 유형을 사용한 유형 해상도

텍스트 'A'로 '텍스트'를 선택하십시오. Union Select 'b';

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

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


예 10.11. 간단한 조합에서 배트맨 토토 해상도

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

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

문자 그럴1.2is type숫자Integervalue1암시 적으로 캐스트 될 수 있습니다숫자, 해당 배트맨 토토이 사용됩니다.


예 10.12. 전달 된 노조의 배트맨 토토 해상도

"Real"Union Select Cast ( '2.2'As As Al

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

여기, 배트맨 토토 이후Real암시 적으로 캐스트 될 수 없습니다Integer그러나정수암시 적으로 캐스트 될 수 있습니다Real, Union 결과 유형은로 해결됩니다.Real.


예 10.13. 중첩 노조의 배트맨 토토 해상도

선택 NULL UNION SELECT NULL UNION SELECT 1;

오류 : Union 유형 텍스트와 정수는 일치 할 수 없습니다

이 실패는이기 때문에 발생합니다.PostgreSQL다중 취급Unions 쌍별 작업의 둥지로서; 즉,이 입력은와 동일합니다.

(선택 NULL UNION SELEC SELECT NULL) UNION SELECT 1;

내부Union방출 배트맨 토토으로 해결되었습니다텍스트, 위에 주어진 규칙에 따라. 그런 다음 외부Union배트맨 토토의 입력이 있습니다텍스트andInteger, 관찰 된 오류로 이어집니다. 가장 왼쪽을 확인하여 문제를 해결할 수 있습니다Union원하는 결과 유형의 최소한 입력이 있습니다.

Intersectand제외작업은 마찬가지로 쌍으로 해결됩니다. 그러나이 섹션에 설명 된 다른 구성은 한 해상도 단계에서 모든 입력을 고려합니다.




[12]연산자 및 함수에 대한 도메인 입력 처리와 마찬가지로이 동작은 도메인 배트맨 토토을 A를 통해 보존 할 수 있습니다.Union또는 유사한 구성, 사용자가 모든 입력이 해당 정확한 배트맨 토토의 암시 적 또는 명시 적으로 보장하기 위해주의를 기울이는 한. 그렇지 않으면 도메인의 기본 배트맨 토토이 사용됩니다.

[13]역사적 이유로CASE그 대체else조항 (있는 경우)첫 번째입력,the그 후 고려 된 조항. 다른 모든 경우왼쪽에서 오른쪽쿼리 텍스트에 표현식이 나타나는 순서를 의미합니다.

정정 제출

문서에 맞지 않는 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면