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

10.2. 토토 핫

토토 핫가 참조하는 특정 토토 핫섹션자세한 내용은

운영자 유형 해상도

  1. pg_operator시스템 카탈로그.섹션 5.7.3). 만약에

    1. 검색 경로가 여러 토토 핫를 찾는 경우

  2. 입력을 정확히 수락하는 토토 핫가 확인하십시오

    1. 이진 토토 핫 호출의 하나의 인수가있는 경우알 수없는타이핑 한 다음 가정합니다알 수없는입력 또는 an을 가진 단백 토토 핫알 수없는입력, 결코 찾을 수 없습니다

    2. 이진 토토 핫 호출의 하나의 인수가있는 경우알 수없는타이핑하고 다른 하나

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

    1. 입력 한 후보 토토 핫 폐기알 수없는리터럴이 가정됩니다

    2. 입력 인수가 도메인 유형 인 경우 처리하십시오.

    3. 모든 후보자를 통해 그와 함께 보관하십시오

    4. 모든 후보자를 통해 실행하여 그를 유지하십시오

    5. 입력 인수가있는 경우알 수없는, 허용 된 유형 범주를 확인하십시오String카테고리 후보자가 수락하는 경우

    6. 한 후보 만 남아 있으면 사용하십시오. 아니오

일부 예제가 따릅니다.

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

팩토리 노동 조작자가 하나뿐입니다 (postfix!12757_12828bigint. 스캐너정수

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

따라서 파서는 피토토 핫와

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

예 10-2. 문자열 연결 토토 핫 유형

문자열과 같은 구문은 문자열 유형으로 작업하는 데 사용됩니다.

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

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

이 경우 파서는 운영자가 있는지 확인합니다.텍스트두 인수 모두. 부터텍스트.

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

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

이 경우 사용 할 유형의 초기 힌트가 없습니다.텍스트는 특정 유형으로 사용됩니다

예 10-3. 절대 가치와 부정

thePostgreSQL토토 핫@, 모두 절대 값을 구현합니다float8PostgreSQL직면 할 때 해당 항목을 사용합니다알 수없는입력 :

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

여기서 시스템은 미지의 유형을 암시 적으로 해결했습니다float8적용하기 전에float8다른 유형이 사용되지 않았습니다.

"abs"로 @ '-4.5e500'을 선택하십시오.

반면에, 접두사 토토 핫~(Bitwise Negation)는 정수에 대해서만 정의됩니다float8. 그래서 우리가 시도하면~, 우리는 다음을 얻습니다 :

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

이것은 시스템이 어느 쪽을 결정할 수 없기 때문에 발생합니다.~운영자가 있어야합니다

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

예 10-4. 도메인의 사용자 정의 토토 핫

사용자는 때때로 운영자가

텍스트 check (...)로 도메인 mytext 만들기;

이 쿼리는 사용자 정의 토토 핫를 사용하지 않습니다. 파서는 할 것입니다MyText = MyText토토 핫단계), 그렇지 않은; 그러면 그것은 고려할 것입니다텍스트텍스트 = 텍스트토토 핫 (2.B)알 수없는-타입텍스트텍스트 = 텍스트운영자. 관습을 얻는 유일한 방법

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

그래서MyText = 텍스트운영자가 발견되었습니다