이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.사설 토토 42 |_1 |04버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

10.3. 토토 사이트 추천

함수 호출에 의해 참조되는 특정 함수는 다음과 같습니다. 다음 절차에 따라 결정됩니다.

함수 유형 해상도

  1. 다음에서 고려할 기능을 선택하세요.pg_proc시스템 카탈로그. 만약 스키마에 한정되지 않은 함수 이름이 사용되었습니다. 이름과 인수가 일치하는 것으로 간주됩니다. 현재 검색 경로에 표시되는 개수(참조섹션 5.7.3). 정규화된 함수 이름이 제공된 경우에만 지정된 스키마의 함수가 고려됩니다.

    1. 검색 경로가 다음의 여러 기능을 찾는 경우 동일한 인수 유형, 하나만 나타남 경로의 가장 빠른 것으로 간주됩니다. 기능 서로 다른 인수 유형은 동일하게 간주됩니다. 검색 경로 위치에 상관없이 바닥글.

    2. 함수가 a로 선언된 경우VARIADIC배열 매개변수 및 호출 은(는) 사용하지 않습니다.VARIADIC키워드인 경우 함수는 배열처럼 처리됩니다. 매개변수가 하나 이상의 항목으로 대체되었습니다. 호출과 일치하는 데 필요한 요소 유형입니다. 이후 이러한 확장 토토 사이트 추천은 효과적일 수 있습니다. 일부 비 가변 함수와 동일한 인수 유형. 이 경우 앞서 나온 토토 사이트 추천은 검색 경로가 사용되거나 두 토토 사이트 추천이 동일한 스키마, 가변적이지 않은 스키마가 선호됩니다.

    3. 매개변수에 대한 기본값이 있는 함수 0 또는 생략된 모든 호출과 일치하는 것으로 간주됩니다. 기본 설정 가능한 매개변수 위치가 더 많아졌습니다. 더 많은 경우 그러한 함수 중 하나 이상이 호출과 일치합니다. 검색 경로에서 가장 먼저 나타나는 것이 사용됩니다. 만약 거기에 동일한 스키마에 두 개 이상의 함수가 있습니다. 기본값이 아닌 항목의 동일한 매개변수 유형 위치(다른 위치가 있는 경우 가능함) 기본 설정 가능한 매개변수 세트) 시스템은 어느 것을 선호할지 결정할 수 있으므로"모호한 함수 호출"호출과 더 일치하는 항목이 없으면 오류가 발생합니다. 찾았습니다.

  2. 입력을 정확하게 받아들이는 함수를 확인하세요 인수 유형. 존재하는 경우(정확한 항목은 하나만 있을 수 있음) 고려된 토토 사이트 추천 세트와 일치), 이를 사용하십시오. (사례 관련된알 수 없음결코 찾지 못할 것입니다 이 단계에서 일치합니다.)

  3. 완전히 일치하는 항목이 없으면 함수 호출이 있는지 확인하십시오. 특별한 유형 변환 요청인 것 같습니다. 이 함수 호출에 인수가 하나만 있고 함수 이름은 일부 함수의 (내부) 이름과 동일합니다. 데이터 유형. 또한 함수 인수는 다음과 같아야 합니다. 알 수 없는 유형의 리터럴이거나 다음과 같은 유형입니다. 명명된 데이터 유형으로 이진 강제 변환 가능하거나 이를 적용하여 명명된 데이터 유형으로 변환할 수 있습니다. 유형의 I/O 기능(즉, 변환은 다음 중 하나입니다. 또는 표준 문자열 유형 중 하나에서). 이것들이 언제 조건이 충족되면 함수 호출이 양식으로 처리됩니다. 의캐스트사양.[1]

  4. 가장 일치하는 항목을 찾으세요.

    1. 입력된 후보 함수를 폐기합니다. 유형이 일치하지 않아 변환할 수 없습니다( 암시적 변환)을 일치시킵니다.알 수 없음리터럴은 다음과 같이 가정됩니다. 이 목적을 위해 무엇이든 변환 가능합니다. 하나만 있으면 후보가 남아 있으면 사용하십시오. 그렇지 않으면 다음으로 계속 단계.

    2. 입력 인수가 도메인 유형인 경우 이를 처리합니다. 이후의 모든 도메인에 대해 도메인의 기본 유형으로 간주됩니다. 단계. 이렇게 하면 도메인이 기본처럼 작동합니다. 모호한 토토 사이트 추천을 위한 유형 해결.

    3. 모든 후보를 살펴보고 다음과 같은 후보를 유지하세요. 입력 유형과 가장 정확하게 일치합니다. 모든 후보자 유지 정확히 일치하는 항목이 없는 경우. 후보가 1명뿐인 경우 남아 있으면 사용하세요. 그렇지 않으면 다음 단계로 진행하세요.

    4. 모든 후보를 살펴보고 해당 후보를 유지하세요. (입력 데이터 유형의 유형 중) 선호하는 유형을 허용합니다. 카테고리) 유형 변환이 가장 많은 위치에 있음 요구될 것입니다. 수락하는 후보자가 없으면 모든 후보자를 유지합니다. 선호하는 유형. 후보가 하나만 남아 있으면 해당 후보를 사용합니다. 그렇지 않으면 다음 단계로 진행하세요.

    5. 입력 인수가 다음과 같은 경우알 수 없음, 허용되는 유형 카테고리를 확인하세요. 나머지 인수에 의한 해당 인수 위치에서 후보자. 각 위치에서 다음을 선택하세요.문자열후보자가 수락하는 경우 카테고리 그 카테고리. (문자열에 대한 이러한 편견은 적절합니다. 알 수 없는 유형의 리터럴은 문자열처럼 보이기 때문입니다.) 그렇지 않으면 나머지 후보자가 모두 동의하면 동일한 유형 카테고리, 해당 카테고리를 선택하십시오. 그렇지 않으면 올바른 선택을 추론할 수 없기 때문에 실패합니다. 더 이상 단서 없이. 이제 그렇지 않은 후보자를 폐기하십시오. 선택한 유형 카테고리를 수락합니다. 게다가 만약 있다면 후보자는 해당 카테고리에서 선호하는 유형을 수락합니다. 선호하지 않는 유형을 허용하는 후보를 삭제합니다. 그 주장.

    6. 후보가 한 명만 남으면 그것을 사용하십시오. 그렇지 않은 경우 후보가 있거나 둘 이상의 후보가 남아 있는 경우 실패하다.

참고하세요"가장 일치하는 항목"규칙 연산자와 함수 유형 확인은 동일합니다. 일부 예는 다음과 같습니다.

예제 10-5. 반올림 함수 인수 유형 해결

단 하나뿐입니다라운드두 개의 인수를 취하는 함수; 첫 번째 인수가 필요합니다. 유형숫자그리고 두 번째 인수 유형정수. 그래서 다음 쿼리는 유형의 첫 번째 인수를 자동으로 변환합니다.정수숫자:

SELECT 라운드(4, 4);

 둥근
--------
 4.0000
(1행)

해당 쿼리는 실제로 파서에 의해 다음과 같이 변환됩니다.

SELECT round(CAST (4 AS 숫자), 4);

소수점이 있는 숫자 상수는 초기에 유형이 할당됨숫자, 다음 쿼리에는 유형 변환이 필요하지 않으므로 약간 더 효율적입니다:

라운드 선택(4.0, 4);

예제 10-6. 하위 문자열 함수 유형 해결

몇 가지가 있습니다substr함수 중 하나는 유형을 취함텍스트그리고정수. 문자열로 호출하는 경우 유형이 지정되지 않은 상수인 경우 시스템이 후보를 선택합니다. 선호하는 카테고리의 인수를 받아들이는 함수문자열(즉 유형텍스트).

SELECT substr('1234', 3);

 하위 문자열
--------
     34
(1행)

문자열이 유형으로 선언된 경우varchar, 이는 다음에서 오는 경우일 수 있습니다. 테이블이 있으면 파서는 이를 다음과 같이 변환하려고 시도합니다.텍스트:

SELECT substr(varchar '1234', 3);

 하위 문자열
--------
     34
(1행)

이것은 파서에 의해 효과적으로 변환됩니다:

SELECT substr(CAST (varchar '1234' AS 텍스트), 3);

참고:파서는 다음에서 학습합니다.pg_cast카탈로그를 작성하세요텍스트그리고varchar있습니다 바이너리 호환 가능, 이는 하나가 물리적인 행위를 하지 않고 상대방을 받아들이는 토토 사이트 추천 전환. 따라서 유형 변환 호출은 실제로 없습니다. 이 경우에 삽입되었습니다.

그리고 함수가 다음 유형의 인수로 호출되는 경우정수, 파서가 변환을 시도합니다. 그건텍스트:

SELECT 하위 문자열(1234, 3);
오류: substr(정수, 정수) 함수가 존재하지 않습니다.
힌트: 주어진 이름과 인수 유형과 일치하는 함수가 없습니다. 필요할 수도 있습니다
명시적인 유형 캐스트를 추가합니다.

이것은 작동하지 않습니다. 왜냐하면정수암시적 캐스트가 없습니다.텍스트. 그러나 명시적인 캐스트는 작동합니다.

SELECT substr(CAST (1234 AS 텍스트), 3);

 하위 문자열
--------
     34
(1행)

참고

[1]

이 단계의 이유는 함수 스타일 캐스트를 지원하기 위한 것입니다 실제 캐스트가 없는 경우의 사양 기능. 캐스트 기능이 있는 경우 일반적으로 출력 유형에 따라 이름이 지정되므로 특별한 경우. 보다PostgreSQL : 문서추가 설명을 원하시면.