윈 토토 : 문서 : 9.4 : 윈 토토 | |||
---|---|---|---|
PostgreSQL : 문서 : 9.4 : 가치 토토 결과소 | PostgreSQL : 문서 : 9.4 : 윈 토토 변환 | 10 장. 변환 유형 | 스포츠 토토 : 문서 : 9.4 : 인덱스 |
SQL무지개 토토구성 요소는 단일 결과 세트가 되려면 다른 유형을 일치시켜야합니다. 해상도 알고리즘은 무지개 토토 쿼리의 각 출력 열에 별도로 적용됩니다. 그만큼Intersectand제외Constructs는와 같은 방식으로 다른 유형을 해결합니다.무지개 토토. 그만큼case, 배열, 값, 가장 큰
및최소
CORPORTS는 동일한 알고리즘을 사용하여 구성 요소 표현식을 일치시키고 결과 데이터 유형을 선택합니다.
유형 해상도무지개 토토, CASE및 관련 구성
모든 입력이 같은 유형 인 경우알 수없는, 해당 유형으로 해결.
입력이 도메인 유형 인 경우 모든 후속 단계에서 도메인의 기본 유형으로 취급하십시오.[1]
모든 입력이 유형 인 경우알 수없는, 유형으로 해결텍스트(스트링 범주의 선호하는 유형). 그렇지 않으면,알 수없는입력은 무시됩니다.
비 unknown 입력이 모두 동일한 유형 범주가 아닌 경우 실패합니다.
해당 범주에서 선호되는 유형 인 첫 번째 비 unknown 입력 유형을 선택하십시오.
그렇지 않으면, 이전의 모든 비 unknown 입력을 암시 적으로 변환 할 수있는 마지막 이외의 입력 유형을 선택하십시오. (목록의 첫 번째 유형은이 조건을 충족해야하기 때문에 항상 그런 유형이 있습니다.)
모든 입력을 선택한 유형으로 변환합니다. 주어진 입력에서 선택한 유형으로 변환되지 않으면 실패합니다.
일부 예제가 따릅니다.
예 10-10. 무지개 토토에서 지정된 유형을 사용한 유형 해상도
텍스트를 선택한 'a as'text "무지개 토토 Select 'b'; 텍스트 ------ 에이 비 (2 줄)
여기, 알 수없는 유형의 리터럴'b'유형으로 해결됩니다텍스트.
예 10-11. 간단한 조합에서 유형 해상도
"Numeric"무지개 토토 Select 1으로 1.2를 선택하십시오. 숫자 ------- 1 1.2 (2 줄)
문자 그럴1.2is type숫자및정수value1암시 적으로 캐스트 될 수 있습니다숫자, 해당 유형이 사용됩니다.
예 10-12. 전달 된 노조의 유형 해상도
"Real"무지개 토토 Select Cast ( '2.2'As As All)로 선택하십시오. 진짜 ------ 1 2.2 (2 줄)
여기, 유형 이후Real암시 적으로 캐스트 될 수 없습니다Integer그러나정수암시 적으로 캐스트 될 수 있습니다Real, 노조 결과 유형은로 해결됩니다.Real.
예 10-13. 중첩 노조의 유형 해상도
선택 NULL UNION SELECT NULL UNION SELECT 1; 오류 : 무지개 토토 유형 텍스트와 정수는 일치 할 수 없습니다
이 실패는이기 때문에 발생합니다.postgresql다중 취급무지개 토토s 쌍별 작업의 둥지로서; 즉,이 입력은와 동일합니다.
(선택 NULL UNION SELEC SELEC NULL) 무지개 토토 Select 1;
내부무지개 토토방출 유형으로 해결되었습니다텍스트, 위에 주어진 규칙에 따라. 그런 다음 외부무지개 토토유형의 입력이 있습니다텍스트andInteger, 관찰 된 오류로 이어집니다. 가장 왼쪽을 확인하여 문제를 해결할 수 있습니다무지개 토토원하는 결과 유형의 입력이 하나 이상 있습니다.
Intersectand제외운영도 마찬가지로 쌍으로 해결됩니다. 그러나이 섹션에 설명 된 다른 구성은 한 해상도 단계에서 모든 입력을 고려합니다.
[1] |
연산자 및 함수에 대한 도메인 입력 처리와 비슷한이 동작은 도메인 유형을 A를 통해 보존 할 수 있습니다.무지개 토토또는 유사한 구성, 사용자가 모든 입력이 해당 정확한 유형의 암시 적 또는 명시 적으로 보장하기 위해주의를 기울이는 한. 그렇지 않으면 도메인의 기본 유형이 선호됩니다. |