이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 10.2. 토토 결과버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

10.2. 토토 사이트 추천

연산자가 참조하는 특정 연산자 표현은 다음 절차를 사용하여 결정됩니다. 주목하십시오 이 절차는 관련된 운영자는 어느 것이 결정되기 때문에 하위 표현은 연산자의 입력으로 간주됩니다. 보다섹션 4.1.6자세한 내용은

운영자 유형 해상도

  1. 에서 고려할 토토 사이트 추천를 선택하십시오pg_operator시스템 카탈로그. 비 스키마 자격이없는 연산자 이름이 사용 된 경우 (평소 사례), 고려 된 운영자는 일치하는 사람들입니다 현재에서 볼 수있는 이름과 인수 수 검색 경로 (참조섹션 5.7.3). 만약에 자격을 갖춘 운영자 이름이 주어졌으며 지정된 스키마가 고려됩니다.

    1. 검색 경로가 여러 토토 사이트 추천를 찾는 경우 동일한 인수 유형 만 나타나는 것만 나타납니다 경로에서 가장 빠른 것이 고려됩니다. 운영자 다른 인수 유형은 동일하게 고려됩니다 검색 경로 위치에 관계없이 기초.

  2. 입력을 정확하게 수락하는 토토 사이트 추천를 확인하십시오 인수 유형. 하나가 존재하는 경우 (정확한 하나만있을 수 있습니다 고려 된 운영자 세트에서 일치), 사용하십시오.

    1. 이진 토토 사이트 추천 호출의 한 가지 인수가있는 경우 의알 수없는입력 한 다음 가정합니다 이것에 대한 다른 주장과 같은 유형입니다. 확인하다. 두 가지 관련 호출알 수없는입력 또는 an을 가진 단시 토토 사이트 추천알 수없는입력, 결코 찾을 수 없습니다 이 단계에서 일치합니다.

    2. 이진 토토 사이트 추천 호출의 하나의 인수가있는 경우 의알 수없는타입과 다른 하나 도메인 유형이며 다음 확인이 있는지 확인하십시오. 운영자는 도메인의 기본 유형을 정확하게 수락합니다 양쪽; 그렇다면 사용하십시오.

  3. 최고의 경기를 찾으십시오.

    1. 입력 한 후보 토토 사이트 추천 폐기 유형은 일치하지 않으며 변환 할 수 없습니다 (사용 암시 적 변환) 일치합니다.알 수없는리터럴이 가정됩니다 이 목적을 위해 무엇이든 전환 할 수 있습니다. 단지 하나라면 후보자는 남아있다. 그렇지 않으면 다음으로 계속됩니다 단계.

    2. 입력 인수가 도메인 유형 인 경우 처리하십시오. 모든 후속에 대한 도메인의 기본 유형으로 단계. 이것은 도메인이 기본처럼 작용하도록합니다 모호한 운영자의 목적을위한 유형 해결.

    3. 모든 후보자를 통해 그와 함께 보관하십시오 입력 유형에서 가장 정확한 일치. 모든 후보자를 유지하십시오 정확히 일치하는 경우. 한 후보자 만 있다면 남아 있습니다. 그렇지 않으면 다음 단계로 계속됩니다.

    4. 모든 후보자를 통해 실행하여 그를 유지하십시오 선호하는 유형을 허용합니다 (입력 데이터 유형의 유형 카테고리) 유형 변환의 대부분의 위치에서 필요합니다. 아무도 수락하지 않으면 모든 후보자를 유지하십시오 선호하는 유형. 한 명의 후보 만 남아 있으면 사용하십시오. 그렇지 않으면 다음 단계로 계속됩니다.

    5. 입력 인수가있는 경우알 수없는, 허용 된 유형 범주를 확인하십시오 그 논쟁에서 나머지는 위치에 있습니다 후보자. 각 위치에서를 선택하십시오.String카테고리 후보자가 수락하는 경우 그 범주. (문자열에 대한이 편견은 적절합니다 알려지지 않은 문자가 문자열처럼 보이므로.) 그렇지 않으면 나머지 후보자가 모두 수락하는 경우 동일한 유형 카테고리, 해당 범주를 선택하십시오. 그렇지 않으면 올바른 선택은 추론 할 수 없기 때문에 실패합니다 더 많은 단서없이. 이제 그렇지 않은 후보자를 버립니다 선택한 유형 범주를 수락하십시오. 또한 후보자는 해당 범주에서 선호하는 유형을 수락하며 선호되지 않은 유형을 수락하는 후보자를 폐기하십시오 그 주장. 아무도 생존하지 않으면 모든 후보자를 유지하십시오 이 테스트. 한 명의 후보 만 남아 있으면 사용하십시오. 그렇지 않으면 다음 단계로 계속됩니다.

    6. 둘 다있는 경우알 수없는및 알려진 유형의 주장과 모든 알려진 유형의 주장 같은 유형을 가지고 있다고 가정합니다.알 수없는인수는 또한 그 유형입니다. 그리고 어떤 후보자가에서 해당 유형을 수락 할 수 있는지 확인하십시오.알 수없는-경사 위치. 만약에 정확히 한 명의 후보자 가이 테스트를 통과하고 사용합니다. 그렇지 않으면 실패합니다.

일부 예제가 따릅니다.

예 10-1. 요인 운영자 유형 해결

Factorial Operator는 하나뿐입니다 (Postfix!) 표준 카탈로그에 정의되어 있습니다 유형의 주장bigint. 스캐너 초기 유형을 할당Integerto 이 쿼리 표현식의 인수 :

40을 선택하십시오! "40 Factorial"으로서;

                   40 FACTORION
---------------------------------------------------------
 815915283247897734345611269596115894272000000000
(1 행)

따라서 파서는 피연산자와 쿼리는 다음과 같습니다.

Cast (40 AS Bigint)를 선택하십시오! "40 Factorial";

예 10-2. 문자열 연결 토토 사이트 추천 유형 해결

문자열과 같은 구문은 문자열 유형으로 작업하는 데 사용됩니다. 복잡한 확장 유형으로 작업합니다. 끈 지정되지 않은 유형은 가능한 작업자와 일치합니다 후보자.

하나의 지정되지 않은 인수가있는 예 :

텍스트 'ABC'||를 선택하십시오 '텍스트와 알 수없는'으로 'def';

 텍스트와 알 수없는
-----------------
 ABCDEF
(1 행)

이 경우 파서는 운영자가 있는지 확인합니다. 취득텍스트두 인수 모두. 부터 두 번째 주장은 유형으로 해석텍스트.

여기에 지정되지 않은 두 값을 연결하는 것이 있습니다 유형 :

'ABC'||를 선택하십시오 "지정되지 않은"로서의 'def';

 지정되지 않은
-------------
 ABCDEF
(1 행)

이 경우 사용 할 유형의 초기 힌트가 없습니다. 쿼리에 유형이 지정되지 않기 때문입니다. 그래서, 파서는 봅니다 모든 후보 운영자에 대해 후보자가 있음을 알게됩니다. 문자열 카테고리 및 비트 스트링 카테고리 입력을 모두 수락합니다. 사용 가능한 경우 문자열 카테고리가 선호되므로 카테고리가 선택되고 문자열의 선호 유형텍스트는 특정 유형으로 사용됩니다 알 수없는 유형 리터럴을 다음과 같이 해결하십시오.

예 10-3. 절대 가치와 부정 토토 사이트 추천 유형 해상도

thePostgreSQL운영자 카탈로그에는 접두사 토토 사이트 추천에 대한 여러 항목이 있습니다@, 모두 절대 값을 구현합니다 다양한 숫자 데이터 유형에 대한 작업. 이 항목 중 하나 유형입니다float8숫자 카테고리에서 우선 유형. 그러므로,PostgreSQL직면했을 때 해당 항목을 사용합니다 와 함께알 수없는입력 :

@ '-4.5'를 "ABS"로 선택합니다.
 ABS
-----
 4.5
(1 행)

여기서 시스템은 미지의 유형을 암시 적으로 해결했습니다 문자로 유형float8적용하기 전에 선택한 토토 사이트 추천. 우리는 그것을 확인할 수 있습니다float8다른 유형이 사용되지 않았습니다.

선택 @ '-4.5e500'을 "ABS"로 선택합니다.

오류 : "-4.5e500"은 유형 이중 정밀도의 범위를 벗어났습니다

반면에, 접두사 토토 사이트 추천~(Bitwise Negation)는 정수에 대해서만 정의됩니다 데이터 유형,float8. 그래서 우리가 시도하면 와 비슷한 사례~, 우리는 다음을 얻습니다 :

"부정"으로 ~ '20'을 선택합니다.

오류 : 운영자는 고유하지 않습니다 : ~ "알 수 없음"
힌트 : 최고의 후보 운영자를 선택할 수 없었습니다. 추가해야 할 수도 있습니다
명시 적 유형 캐스트.

이것은 시스템이 어느 쪽을 결정할 수 없기 때문에 발생합니다. 몇 가지 가능한~운영자가 있어야합니다 우선의. 우리는 명시적인 캐스트로 그것을 도울 수 있습니다 :

선택 ~ cast ('20 'As int8)로 "부정";

 부정
---------
      -21
(1 행)

예 10-4. 배열 포함 작업자 유형 해결

운영자를 하나로 해결하는 또 다른 예가 있습니다. 알려진 하나의 알려지지 않은 입력 :

배열 선택 [1,2] <@ '1,2,3'as "IS Subset";

 서브 세트입니다
----------
 티
(1 행)

thePostgreSQL운영자 카탈로그에는 Infix 토토 사이트 추천에 대한 여러 항목이 있습니다<@, 그러나 아마도 두 가지 왼쪽의 정수 배열을 배열입니다. 포함 (AnyArray <@ AnyArray) 및 범위 포함 (Anylement <@ AnyRange). 부터 이들 다형성 의사 유형은 없다 (참조섹션 8.19)가 고려됩니다 선호하는 파서는 이에 대한 모호성을 해결할 수 없습니다 기초. 하지만,3.F알 수없는 유형의 리터럴이 같은 유형이라고 가정합니다. 다른 입력, 즉 정수 배열입니다. 이제 하나만 두 연산자가 일치 할 수 있으므로 배열 포함이 선택됩니다. (가졌다 범위 포함이 선택되었고 오류가 발생했을 것입니다. 문자열에는 적절한 형식이 범위가 아니기 때문에 오자.)

예 10-5. 도메인의 사용자 정의 토토 사이트 추천 유형

사용자는 때때로 운영자가 도메인 유형. 이것은 가능하지만 거의 유용하지 않습니다. 운영자 해상도 규칙이 설계 되었기 때문에 보일 수 있습니다 도메인의 기본 유형에 적용되는 토토 사이트 추천를 선택합니다. 로서 예제 고려

텍스트 check (...)로 도메인 mytext 만들기;
함수 생성 mytext_eq_text (mytext, text)는 boolean을 다시 ...;
create operator = (procedure = mytext_eq_text, leftarg = mytext, rightarg = text);
MyTable 테이블 작성 (Val MyText);

mytable에서 * val = 'foo';에서 선택하십시오.

이 쿼리는 사용자 정의 토토 사이트 추천를 사용하지 않습니다. 파서는 할 것입니다 먼저가 있는지 확인하십시오.MyText = MyText토토 사이트 추천 (단계 2.a)는 없습니다. 그러면 그것은 고려할 것입니다 도메인의 기본 유형텍스트IS A텍스트 = 텍스트토토 사이트 추천 (2.B) 거기가있다; 그래서 그것은를 해결합니다알 수없는-타입 문자로서텍스트텍스트 = 텍스트토토 사이트 추천. 관습을 얻는 유일한 방법 사용되는 운영자는 명시 적으로 문자를 캐스팅하는 것입니다.

선택 *에서 mytable에서 val = text 'foo';

그래서MyText = 텍스트운영자가 발견되었습니다 정확한 일치 규칙에 따라 즉시. 만약 가장 좋은 일치 규칙에 도달하면 적극적으로 차별합니다 도메인 유형의 토토 사이트 추천에 대한. 그들이하지 않았다면 운영자 캐스팅 규칙은 항상 도메인을 캐스팅 가능한 것으로 간주하기 때문에 기본 유형으로 또는 도메인 토토 사이트 추천가 비슷한 이름과 같은 경우에 사용할 수있는 것으로 간주됩니다. 기본 유형의 토토 사이트 추천.