이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 4.3. 와이즈 토토 호출버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

4.3. 함수 스포츠 토토 베트맨

포스트그레SQL기능을 허용합니다 다음 중 하나를 사용하여 호출할 명명된 매개변수가 있습니다.위치또는이름이 지정된표기법. 명명된 표기법은 다음과 같은 함수에 특히 유용합니다. 매개변수가 많기 때문에 매개변수와 실제 인수 간의 연관 명시적이고 신뢰할 수 있습니다. 위치 표기법에서 함수 호출은 다음과 같습니다. 인수 값과 동일한 순서로 작성되었습니다. 함수 선언에 정의되어 있습니다. 명명된 표기법에서는 인수는 이름별로 함수 매개변수와 일치하며 다음과 같이 할 수 있습니다. 순서에 관계없이 작성하세요.

어느 표기법에서든 기본값이 지정된 매개변수는 함수 선언에서 호출 시 작성할 필요는 없습니다. 모두. 그러나 이는 명명된 표기법에 특히 유용합니다. 매개변수 조합은 생략될 수 있습니다. 위치에 있는 동안 표기법 매개변수는 오른쪽에서 왼쪽으로만 생략할 수 있습니다.

PostgreSQL또한 지원합니다혼합표기법은 다음을 결합합니다. 위치 표기법과 명명 표기법. 이 경우 위치지정 매개변수가 먼저 작성되고 명명된 매개변수가 나중에 표시됩니다. 그들.

다음 예는 세 가지 모두의 사용법을 보여줍니다. 다음 함수 정의를 사용한 표기법:

CREATE FUNCTION concat_lower_or_upper(a 텍스트, b 텍스트, 대문자 부울 DEFAULT false)
텍스트를 반환합니다.
그대로
$$
 케이스 선택
        $3일 때 상위($1 || ' ' || $2)
        ELSE LOWER($1 || ' ' || $2)
        끝;
$$
언어 SQL IMMUTABLE STRICT;

기능concat_lower_or_upper두 개의 필수 매개변수가 있습니다.a그리고b. 추가적으로 하나의 선택사항이 있습니다. 매개변수대문자기본값은거짓.a그리고b입력은 연결될 것이며, 에 따라 대문자 또는 소문자로 강제됩니다.대문자매개변수. 이에 대한 나머지 세부사항은 여기서는 함수 정의가 중요하지 않습니다(참조35장자세한 내용은).

4.3.1. 사용 위치 표기법

위치 표기법은 전달을 위한 전통적인 메커니즘입니다. 의 함수에 대한 인수PostgreSQL. 예는 다음과 같습니다:

SELECT concat_lower_or_upper('안녕하세요', '세계', true);
 concat_lower_or_upper 
----------
 안녕하세요 세계
(1행)

모든 인수가 순서대로 지정되었습니다. 결과는 위 이후 사례대문자다음과 같이 지정됨. 또 다른 예는 다음과 같습니다:

SELECT concat_lower_or_upper('안녕하세요', '세계');
 concat_lower_or_upper 
----------
 안녕 세계
(1행)

여기는대문자매개변수는 생략되었으므로 기본값인를 받습니다.거짓, 소문자로 출력됩니다. 에서 위치 표기법, 인수는 오른쪽에서 생략 가능 기본값이 있는 한 그대로 유지됩니다.

4.3.2. 명명된 사용 표기

명명된 표기법에서 각 인수의 이름은 다음을 사용하여 지정됩니다.:=인수와 분리하기 위해 표현. 예를 들면:

SELECT concat_lower_or_upper(a := '안녕하세요', b := '세계');
 concat_lower_or_upper 
----------
 안녕 세계
(1행)

다시, 주장대문자이었음 생략되었으므로 다음과 같이 설정됩니다.거짓암시적으로. 명명된 표기법을 사용하는 것의 한 가지 장점은 인수는 순서에 관계없이 지정할 수 있습니다. 예를 들면 다음과 같습니다.

SELECT concat_lower_or_upper(a := '안녕하세요', b := '세계', 대문자 := true);
 concat_lower_or_upper 
----------
 안녕하세요 세계
(1줄)

SELECT concat_lower_or_upper(a := 'Hello', 대문자 := true, b := 'World');
 concat_lower_or_upper 
----------
 안녕하세요 세계
(1행)

4.3.3. 혼합 사용 표기

혼합 표기법은 위치 표기법과 명명 표기법을 결합합니다. 그러나 이미 언급했듯이 명명된 인수는 앞에 올 수 없습니다. 위치 인수. 예를 들어:

SELECT concat_lower_or_upper('안녕하세요', '세계', 대문자 := true);
 concat_lower_or_upper 
----------
 안녕하세요 세계
(1행)

위 쿼리에서 인수a그리고b위치적으로 지정됩니다. 동안대문자이름으로 지정됩니다. 이 예에서는 문서를 제외하고는 거의 추가되지 않습니다. 와 수많은 매개변수를 갖는 더 복잡한 함수 기본값, 이름 지정 또는 혼합 표기법을 사용하면 많은 비용을 절약할 수 있습니다. 작성하고 오류 가능성을 줄입니다.

참고:현재 명명된 호출 표기법과 혼합 호출 표기법 집계 함수를 호출할 때는 사용할 수 없습니다(그러나 집계 함수가 창으로 사용될 때 작동합니다. 기능).