Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

37.12. Toán tử tỷ lệ kèo bóng đá tối nay

Mỗi toán tử làĐường cú phápĐể gọi đến một chức năng cơ bản thực hiện công việc thực sự; Vì vậy, trước tiên bạn phải tạo chức năng cơ bản trước khi bạn có thể tạo toán tử.không chỉ đơn thuần làĐường cú pháp, bởi vì nó mang thêm thông tin giúp tỷ lệ kèo bóng đá tối nay lập kế hoạch truy vấn tối ưu hóa các truy vấn sử dụng toán tử. Phần tiếp theo sẽ được dành để giải thích thông tin bổ sung đó.

PostgreSQLHỗ trợ các toán tử nhị phân bên trái, bên phải và bên phải. tỷ lệ kèo bóng đá tối nay vận hành có thể bị quá tải;nghĩa là cùng tên toán tử có thể được sử dụng cho các toán tử khác nhau có số và loại toán hạng khác nhau. Khi truy vấn được thực thi, hệ thống sẽ tỷ lệ kèo bóng đá tối nay toán tử để gọi từ số và loại của toán hạng được cung cấp.

Đây là một ví dụ về việc tạo toán tử để thêm hai số phức. Chúng tôi giả sử rằng chúng tôi đã tạo định nghĩa của loạiphức tạp(xemPhần 37.11). Đầu tiên chúng ta cần một chức năng thực hiện công việc, sau đó chúng ta có thể tỷ lệ kèo bóng đá tối nay toán tử:

Tạo chức năng Complex_add (phức tạp, phức tạp)FileName12495_12665

Bây giờ chúng ta có thể thực hiện một truy vấn như thế này:

Chọn (a + b) dưới dạng c từ test_complex;

Chúng tôi đã chỉ ra cách tạo một toán tử nhị phân ở đây. Để tạo các toán tử Unary, chỉ cần bỏ qua một trongLeftarg(cho trái không) hoặcRightarg(cho đúng). TheQuy trìnhmệnh đề và mệnh đề đối số là các mục duy nhất được yêu cầu trongTạo toán tử. TheCổ lưumệnh đề hiển thị trong ví dụ là một gợi ý tùy chọn cho trình tối ưu hóa truy vấn. Thông tin chi tiết vềCổ lưuvà các gợi ý khác của trình tối ưu hóa xuất hiện trong phần tiếp theo.