Postgresql 8.1.23 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 10. kèo bóng đá c1 chuyển đổi | Chuyển tiếp nhanh | Tiếp theo |
Hàm cụ thể sẽ được sử dụng trong lời mời kèo bóng đá c1 là được xác định theo các bước sau.
Độ phân giải loại kèo bóng đá c1
Chọn các kèo bóng đá c1 được xem xét từPG_PROC
Danh mục hệ thống. Nếu như
Tên hàm không đủ tiêu chuẩn đã được sử dụng, các kèo bóng đá c1
được xem xét là tên đúng tên và số lượng đối số
có thể nhìn thấy trong đường dẫn tìm kiếm hiện tại (xemPhần 5.7.3). Nếu như
một tên kèo bóng đá c1 đủ điều kiện đã được đưa ra, chỉ các kèo bóng đá c1 trong
Lược đồ được chỉ định được xem xét.
Nếu đường dẫn tìm kiếm tìm thấy nhiều kèo bóng đá c1 của Các loại đối số giống hệt nhau, chỉ có một đối số xuất hiện sớm nhất trong con đường được xem xét. Nhưng các kèo bóng đá c1 của Các loại đối số khác nhau được xem xét trên một chân bất kể vị trí đường dẫn tìm kiếm.
Kiểm tra kèo bóng đá c1 chấp nhận chính xác đầu vào Các loại đối số. Nếu một người tồn tại (chỉ có thể có một chính xác khớp trong tập hợp các kèo bóng đá c1 được xem xét), sử dụng nó. (Trường hợp liên quankhông xác địnhsẽ không bao giờ tìm thấy một khớp ở bước này.)
12070_12633
Tìm kiếm trận đấu tốt nhất.
loại bỏ các kèo bóng đá c1 ứng viên mà đầu vào Các loại không khớp và không thể chuyển đổi (sử dụng chuyển đổi ẩn) để khớp.không xác định12994_13172
Chạy qua tất cả các ứng cử viên và giữ những người có Hầu hết các khớp chính xác trên các kèo bóng đá c1 đầu vào. (Miền là được coi là giống như kèo bóng đá c1 cơ sở của họ cho điều này mục đích.) Giữ tất cả các ứng cử viên nếu không có chính xác trận đấu. Nếu chỉ còn một ứng cử viên, hãy sử dụng nó; khác Tiếp tục bước tiếp theo.
Chạy qua tất cả các ứng cử viên và giữ những điều đó Chấp nhận các kèo bóng đá c1 ưa thích (thuộc kèo bóng đá c1 kèo bóng đá c1 dữ liệu đầu vào kèo bóng đá c1) ở nhiều vị trí nhất nơi chuyển đổi kèo bóng đá c1 sẽ được yêu cầu. Giữ tất cả các ứng cử viên nếu không chấp nhận Các kèo bóng đá c1 ưa thích. Nếu chỉ còn một ứng cử viên, hãy sử dụng nó; khác tiếp tục bước tiếp theo.
Nếu có bất kỳ đối số đầu vào nào làkhông xác định, Kiểm tra các kèo bóng đá c1 kèo bóng đá c1 được chấp nhận tại những vị trí tranh luận của phần còn lại ứng cử viên. Ở mỗi vị trí, chọnchuỗi14316_14985
Nếu chỉ còn lại một ứng cử viên, hãy sử dụng nó. Nếu không ứng cử viên hoặc nhiều hơn một ứng cử viên vẫn còn thất bại.
Lưu ý rằng"Kết hợp tốt nhất"Quy tắc là giống hệt nhau cho toán tử và độ phân giải loại kèo bóng đá c1. Một số Ví dụ theo sau.
Ví dụ 10-4. Loại đối số kèo bóng đá c1 làm tròn Nghị quyết
chỉ có mộtvòng
Hàm với hai đối số. (Đầu tiên làSố, thứ hai làSố nguyên.) Vì vậy, truy vấn sau
Chuyển đổi đối số đầu tiên của kèo bóng đá c1Số nguyênđếnSố:
Chọn Vòng (4, 4); tròn -------- 4.0000 (1 hàng)
Truy vấn đó thực sự được trình phân tích cú pháp thành
Chọn Vòng (Cast (4 là Số), 4);
Vì các hằng số số có các điểm thập phân ban đầu được chỉ định kèo bóng đá c1Số, sau đây Truy vấn sẽ không yêu cầu chuyển đổi kèo bóng đá c1 và do đó có thể hiệu quả hơn một chút:
Chọn Vòng (4.0, 4);
Ví dụ 10-5. Loại kèo bóng đá c1 con Nghị quyết
Có một sốSubr
Các kèo bóng đá c1, một trong số đó lấy các loạiTextvàSố nguyên. Nếu được gọi bằng chuỗi
không đổi loại không xác định, hệ thống chọn ứng viên
kèo bóng đá c1 chấp nhận một đối số của danh mục ưa thíchchuỗi(cụ thể là kèo bóng đá c1Text).
chọn chuỗi con ('1234', 3); Chất nền -------- 34 (1 hàng)
Nếu chuỗi được khai báo là kèo bóng đá c1Varchar, như có thể là trường hợp nếu nó đến từ một bảng, sau đó trình phân tích cú pháp sẽ cố gắng chuyển đổi nó để trở thành17254_17260:
chọn chuỗi con (varchar '1234', 3); Chất nền -------- 34 (1 hàng)
Điều này được chuyển đổi bởi trình phân tích cú pháp để trở thành một cách hiệu quả
chọn Subrtr (cast (varchar '1234' làm văn bản), 3);
Lưu ý:trình phân tích cú pháp học từpg_castDanh mục đóTextvàVarcharlà tương thích nhị phân, có nghĩa là người ta có thể được chuyển cho kèo bóng đá c1 chấp nhận cái khác mà không làm bất kỳ vật lý nào chuyển đổi. Do đó, không có cuộc gọi chuyển đổi loại rõ ràng nào là thực sự được chèn trong trường hợp này.
Và, nếu hàm được gọi với đối số kèo bóng đá c1Số nguyên, trình phân tích cú pháp sẽ cố gắng chuyển đổi Đó làText:
chọn chuỗi con (1234, 3); Chất nền -------- 34 (1 hàng)
Điều này thực sự thực hiện là
Chọn Subrtr (Cast (1234 dưới dạng văn bản), 3);
Chuyển đổi tự động này có thể thành công vì có một diễn viên có thể mời hoàn toàn từSố nguyênđếnText.