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

35.12. 사용자 정의 운영자

모든 운영자는"구문 설탕"실제 작업을 수행하는 기본 함수 호출용; 그래서 그러기 전에 먼저 기본 함수를 만들어야 합니다. 연산자를 만듭니다. 그러나 연산자는단지구문 설탕, 왜냐하면 쿼리 플래너에 도움이 되는 추가 정보를 전달합니다. 연산자를 사용하는 쿼리를 최적화합니다. 다음 섹션은 추가 정보를 설명하는 데 전념했습니다.

포스트그레SQL왼쪽 지지 단항, 오른쪽 단항 및 이항 연산자. 운영자는 다음과 같습니다. 과부하; 즉, 동일한 연산자 이름을 다음에 사용할 수 있습니다. 다양한 수와 유형을 가진 다양한 연산자 피연산자. 쿼리가 실행되면 시스템에서 제공된 번호와 유형에서 호출하는 교환원 피연산자.

다음은 두 개를 더하는 연산자를 생성하는 예입니다. 복소수. 우리는 이미 정의를 생성했다고 가정합니다. 유형복잡한(참조섹션 35.11). 먼저 다음과 같은 기능이 필요합니다. 작업을 수행한 다음 연산자를 정의할 수 있습니다.

CREATE FUNCTION complex_add(복잡함,복잡함)
    반품 콤플렉스
    그대로 '파일 이름', '복합_추가'
    언어 C 불변 STRICT;

연산자 만들기 + (
    leftarg = 복잡함,
    rightarg = 복잡함,
    프로시저 = complex_add,
    정류자 = +
);

이제 다음과 같은 쿼리를 실행할 수 있습니다:

SELECT (a + b) AS c FROM test_complex;

        ㄷ
-----------------
 (5.2,6.05)
 (133.42,144.95)

우리는 여기서 이진 연산자를 생성하는 방법을 보여주었습니다. 생성하려면 단항 연산자, 다음 중 하나만 생략하세요.leftarg(왼쪽 단항의 경우) 또는rightarg(오른쪽 단항의 경우).절차절과 인수 절은 필수 항목만연산자 생성.정류자절에 표시됨 example은 쿼리 최적화 프로그램에 대한 선택적 힌트입니다. 더 나아가 에 대한 세부정보정류자및 기타 최적화 프로그램 힌트는 다음 섹션에 나타납니다.