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

4.3. Gọi chức kèo bóng đá pháp

PostgreSQLCho phép các chức kèo bóng đá pháp được gọi là tham số bằng cách sử dụngvị tríhoặcđược đặt tênKý hiệu. Ký hiệu được đặt tên đặc biệt hữu ích cho các hàm có số lượng lớn các tham số, vì nó làm cho mối liên hệ giữa các tham số và các đối số thực tế rõ ràng và đáng tin cậy hơn. Trong ký hiệu vị trí, một cuộc gọi hàm được viết với các giá trị đối số của nó theo cùng thứ tự như chúng được xác định trong khai báo chức kèo bóng đá pháp. Trong ký hiệu được đặt tên, các đối số được khớp với các tham số hàm theo tên và có thể được viết theo bất kỳ thứ tự nào. Đối với mỗi ký hiệu, cũng xem xét hiệu ứng của các loại đối số chức kèo bóng đá pháp, được ghi lại trongPhần 10.3.

Trong cả hai ký hiệu, các tham số có giá trị mặc định được đưa ra trong khai báo chức kèo bóng đá pháp không cần phải được viết trong cuộc gọi. Nhưng điều này đặc biệt hữu ích trong ký hiệu được đặt tên, vì bất kỳ sự kết hợp nào của các tham số có thể được bỏ qua; Trong khi trong các tham số ký hiệu vị trí chỉ có thể được bỏ qua từ phải sang trái.

PostgreSQLcũng hỗ trợhỗn hợpKý kèo bóng đá pháp, kết hợp ký kèo bóng đá pháp vị trí và ký kèo bóng đá pháp. Trong trường hợp này, các tham số vị trí được viết đầu tiên và các tham số được đặt tên xuất hiện sau chúng.

Các ví dụ sau sẽ minh họa việc sử dụng cả ba ký hiệu, sử dụng định nghĩa chức kèo bóng đá pháp sau:

11286_11535

chức kèo bóng đá phápincat_lower_or_upperCó hai tham số bắt buộc,AB. Ngoài ra, có một tham số tùy chọnchữ hoamặc định làSai. TheABĐầu vào sẽ được kết hợp và buộc phải có chữ hoa hoặc chữ thường tùy theoHợp đườngTham số. Các chi tiết còn lại của định nghĩa chức kèo bóng đá pháp này không quan trọng ở đây (xemChương 38Để biết thêm thông tin).

4.3.1. Sử dụng ký kèo bóng đá pháp vị trí

Ký hiệu vị trí là cơ chế truyền thống để truyền đối số cho các chức kèo bóng đá pháp trongPostgreSQL. Một ví dụ là:

chọn Concat_Lower_or_upper ('xin chào', 'thế giới', đúng);
 Concat_Lower_or_upper
-----------------------
 Xin chào thế giới
(1 hàng)

Tất cả kèo bóng đá pháp đối số được chỉ định theo thứ tự. Kết quả là trường hợp trên kể từchữ hoađược chỉ định làtrue. Một ví dụ khác là:

Chọn Concat_Lower_or_upper ('Xin chào', 'Thế giới');
 Concat_Lower_or_upper
-----------------------
 Xin chào thế giới
(1 hàng)

ở đây,chữ hoaTham số bị bỏ qua, do đó, nó nhận được giá trị mặc định của nó làSai, kết quả là đầu ra chữ thường. Trong ký kèo bóng đá pháp vị trí, các đối số có thể được bỏ qua từ phải sang trái miễn là chúng có mặc định.

4.3.2. Sử dụng ký kèo bóng đá pháp được đặt tên

Trong ký kèo bóng đá pháp được đặt tên, tên của mỗi đối số được chỉ định bằng=Để tách nó khỏi biểu thức đối số. Ví dụ:

chọn Concat_Lower_or_upper (a = 'xin chào', b = 'thế giới');
 Concat_Lower_or_upper
-----------------------
 Xin chào thế giới
(1 hàng)

Một lần nữa, đối sốchữ hoađã bị bỏ qua để nó được đặt thànhfalsengầm. Một lợi thế của việc sử dụng ký kèo bóng đá pháp được đặt tên là các đối số có thể được chỉ định theo bất kỳ thứ tự nào, ví dụ:

chọn Concat_Lower_or_upper (a = 'Hello', b = 'thế giới', chữ hoa
 Concat_Lower_or_upper
-----------------------
 Xin chào thế giới
(1 hàng)

Chọn Concat_Lower_or_upper (a = 'Hello', Uppercase = true, b = 'thế giới');
 Concat_Lower_or_upper
-----------------------
 Xin chào thế giới
(1 hàng)

Một cú pháp cũ hơn dựa trên ": =" được hỗ trợ để tương thích ngược:

Chọn Concat_Lower_or_upper (A: = 'Hello', Uppercase: = true, B: = 'Thế giới');
 Concat_Lower_or_upper
-----------------------
 Xin chào thế giới
(1 hàng)

4.3.3. Sử dụng ký kèo bóng đá pháp hỗn hợp

Ký kèo bóng đá pháp hỗn hợp kết hợp ký kèo bóng đá pháp vị trí và ký kèo bóng đá pháp được đặt tên. Tuy nhiên, như đã đề cập, các đối số được đặt tên không thể đi trước các đối số vị trí. Ví dụ:

Chọn Concat_Lower_or_upper ('Xin chào', 'Thế giới', Uppercase = true);
 Concat_Lower_or_upper
-----------------------
 Xin chào thế giới
(1 hàng)

Trong truy vấn trên, kèo bóng đá pháp đối sốABđược chỉ định vị trí, trong khichữ hoađược chỉ định theo tên. Trong ví dụ này, điều đó thêm ít ngoại trừ tài liệu. Với chức kèo bóng đá pháp phức tạp hơn có nhiều tham số có giá trị mặc định, ký hiệu được đặt tên hoặc hỗn hợp có thể tiết kiệm rất nhiều việc viết và giảm cơ hội cho lỗi.

Lưu ý

Các ký kèo bóng đá pháp cuộc gọi được đặt tên và hỗn hợp hiện không thể được sử dụng khi gọi hàm tổng hợp (nhưng chúng hoạt động khi hàm tổng hợp được sử dụng làm hàm cửa sổ).

Gửi kèo bóng đá pháp chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớp Kinh nghiệm của bạn với tính kèo bóng đá pháp cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài kèo bóng đá pháp.