Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển: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
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ế.

9,18. Các chức năng và toán tử tỷ lệ kèo bóng đá

Bảng 9,48Hiển thị các toán tử có sẵn cho các loại tỷ lệ kèo bóng đá.

Bảng 9,48. Toán tử tỷ lệ kèo bóng đá

Nhà điều hành Mô tả Ví dụ result
= bằng Array [1.1,2.1,3.1] :: int [] = tỷ lệ kèo bóng đá [1,2,3] T
< không bằng tỷ lệ kèo bóng đá [1,2,3] < tỷ lệ kèo bóng đá [1,2,4] T
< ít hơn tỷ lệ kèo bóng đá [1,2,3] <tỷ lệ kèo bóng đá [1,2,4] T
lớn hơn tỷ lệ kèo bóng đá [1,4,3] tỷ lệ kèo bóng đá [1,2,4] T
<= nhỏ hơn hoặc bằng tỷ lệ kèo bóng đá [1,2,3] <= tỷ lệ kèo bóng đá [1,2,3] T
= lớn hơn hoặc bằng tỷ lệ kèo bóng đá [1,4,3] = tỷ lệ kèo bóng đá [1,4,3] T
@ chứa tỷ lệ kèo bóng đá [1,4,3] @ tỷ lệ kèo bóng đá [3,1,3] T
<@ được chứa bởi tỷ lệ kèo bóng đá [2,2,7] <@ tỷ lệ kèo bóng đá [1,7,4,2,6] T
&& chồng chéo (có các phần tử chung) tỷ lệ kèo bóng đá [1,4,3] && tỷ lệ kèo bóng đá [2,1] T
|| Concatenation Array-to-Array tỷ lệ kèo bóng đá [1,2,3] || tỷ lệ kèo bóng đá [4,5,6] 1,2,3,4,5,6
|| Concatenation Array-to-Array tỷ lệ kèo bóng đá [1,2,3] || tỷ lệ kèo bóng đá [[4,5,6], [7,8,9]] 1,2,3, 4,5,6, 7,8,9
|| Concatenation phần tử-đến-marray 3 || tỷ lệ kèo bóng đá [4,5,6] 3,4,5,6
|| 14595_14627 tỷ lệ kèo bóng đá [4,5,6] || 7 4,5,6,7

Các toán tử đặt hàng tỷ lệ kèo bóng đá (<, =, v.v.) So sánh các nội dung tỷ lệ kèo bóng đá theo từng phần tử, sử dụng hàm so sánh B-cây mặc định cho kiểu dữ liệu phần tử và sắp xếp dựa trên sự khác biệt đầu tiên. Trong các tỷ lệ kèo bóng đá đa chiều, các phần tử được truy cập theo thứ tự Major (chỉ số cuối cùng thay đổi nhanh nhất).PostgreSQLTrước 8.2: Các phiên bản cũ hơn sẽ cho rằng hai tỷ lệ kèo bóng đá có cùng nội dung là bằng nhau, ngay cả khi số lượng kích thước hoặc phạm vi đăng ký là khác nhau.)

Các toán tử ngăn chặn tỷ lệ kèo bóng đá (<@@) Hãy xem xét một tỷ lệ kèo bóng đá được chứa trong một tỷ lệ kèo bóng đá khác nếu mỗi phần tử của nó xuất hiện trong phần còn lại. Sao chép không được đối xử đặc biệt, do đótỷ lệ kèo bóng đá [1]tỷ lệ kèo bóng đá [1,1]mỗi cái được coi là chứa cái khác.

xemPhần 8.15Để biết thêm chi tiết về hành vi của toán tử tỷ lệ kèo bóng đá. Nhìn thấyPhần 11.2Để biết thêm chi tiết về các toán tử hỗ trợ các hoạt động được lập chỉ mục.

Bảng 9,49Hiển thị các chức năng có sẵn để sử dụng với các loại tỷ lệ kèo bóng đá. Nhìn thấyPhần 8.15Để biết thêm thông tin và ví dụ về việc sử dụng các chức năng này.

Bảng 9,49. Chức năng tỷ lệ kèo bóng đá

chức năng Loại trả lại Mô tả Ví dụ Kết quả
​​Array_Append(AnyArray, AnyEuity) 18620_18630 nối một phần tử vào cuối một tỷ lệ kèo bóng đá mảng_Append (tỷ lệ kèo bóng đá [1,2], 3) 1,2,3
mảng_cat(AnyArray, AnyArray) AnyArray Concatenate hai tỷ lệ kèo bóng đá mảng_cat (tỷ lệ kèo bóng đá [1,2,3], tỷ lệ kèo bóng đá [4,5]) 1,2,3,4,5
Array_NDIMS(AnyArray) int Trả về số lượng kích thước của tỷ lệ kèo bóng đá Array_NDIMS (tỷ lệ kèo bóng đá [[1,2,3], [4,5,6]]) 2
19788_19800(AnyArray) Text Trả về một biểu diễn văn bản của kích thước của tỷ lệ kèo bóng đá mảng_dims (tỷ lệ kèo bóng đá [[1,2,3], [4,5,6]]) [1: 2] [1: 3]
Array_Fill(AnyEuity, int [][, int []]) AnyArray Trả về một tỷ lệ kèo bóng đá được khởi tạo với giá trị và kích thước được cung cấp, tùy chọn có giới hạn dưới khác với 1 mảng_fill (7, tỷ lệ kèo bóng đá [3], tỷ lệ kèo bóng đá [2]) [2: 4] = 7,7,7
Array_length(AnyArray, int) int Trả về chiều dài của kích thước tỷ lệ kèo bóng đá được yêu cầu Array_length (tỷ lệ kèo bóng đá [1,2,3], 1) 3
Array_Lower(AnyArray, int) int Trả về giới hạn dưới của kích thước tỷ lệ kèo bóng đá được yêu cầu Array_Lower ('[0: 2] = 1,2,3' :: int [], 1) 0
Array_Pocation(AnyArray, AnyEuity[, int]) int Trả về chỉ số của lần xuất hiện đầu tiên của đối số thứ hai trong tỷ lệ kèo bóng đá, bắt đầu từ phần tử được biểu thị bằng đối số thứ ba hoặc ở phần tử thứ nhất (tỷ lệ kèo bóng đá phải là một chiều) 22189_22262 2
Array_Pocations(AnyArray, AnyEuity) int [] Trả về một tỷ lệ kèo bóng đá các chỉ số của tất cả các lần xuất hiện của đối số thứ hai trong tỷ lệ kèo bóng đá được đưa ra dưới dạng đối số đầu tiên (tỷ lệ kèo bóng đá phải là một chiều) Array_Pocations (tỷ lệ kèo bóng đá ['a', 'a', 'b', 'a'], 'a') 1,2,4
Array_Prepend(AnyEuity, AnyArray) AnyArray Nối một phần tử vào đầu một tỷ lệ kèo bóng đá mảng_prepend (1, tỷ lệ kèo bóng đá [2,3]) 1,2,3
Array_Remove(AnyArray, AnyEuity) AnyArray Xóa tất cả các phần tử bằng với giá trị đã cho khỏi tỷ lệ kèo bóng đá (tỷ lệ kèo bóng đá phải là một chiều) Array_Remove (tỷ lệ kèo bóng đá [1,2,3,2], 2) 1,3
Array_Replace(AnyArray, AnyEuity, AnyEuity) AnyArray Thay thế từng phần tử tỷ lệ kèo bóng đá bằng giá trị đã cho bằng giá trị mới Array_Repace (tỷ lệ kèo bóng đá [1,2,5,4], 5, 3) 1,2,3,4
Array_TO_String(AnyArray, Text[, Text]) Text 24717_24796 mảng_to_String (tỷ lệ kèo bóng đá [1, 2, 3, null, 5], ',', '*') 1,2,3,*,5
mảng_upper(AnyArray, int) int Trả về giới hạn trên của kích thước tỷ lệ kèo bóng đá được yêu cầu Array_upper (tỷ lệ kèo bóng đá [1,8,3,7], 1) 4
Cardinality(AnyArray) int Trả về tổng số phần tử trong tỷ lệ kèo bóng đá hoặc 0 nếu tỷ lệ kèo bóng đá trống Cardinality (tỷ lệ kèo bóng đá [[1,2], [3,4]]) 4
String_to_array(Text, Text[, Text]) Text [] chia chuỗi thành các phần tử tỷ lệ kèo bóng đá bằng cách phân cách được cung cấp và chuỗi null tùy chọn String_to_array ('xx ~^~ yy ~^~ zz', '~^~', 'yy') xx, null, zz
Unnest(AnyArray) setof anyEuity Mở rộng một tỷ lệ kèo bóng đá thành một tập hợp các hàng Unnest (tỷ lệ kèo bóng đá [1,2])
1
2
(2 hàng)
Unnest(AnyArray, AnyArray[, ...]) Setof AnyEuity, AnyEuity [, ...] Mở rộng nhiều tỷ lệ kèo bóng đá (có thể thuộc các loại khác nhau) thành một tập hợp các hàng. Điều này chỉ được phép trong mệnh đề từ;Phần 7.2.1.4 Unnest (tỷ lệ kèo bóng đá [1,2], tỷ lệ kèo bóng đá ['foo', 'bar', 'baz'])
1 foo
(3 hàng)

inArray_PocationArray_Pocations, mỗi phần tử tỷ lệ kèo bóng đá được so sánh với giá trị được tìm kiếm bằng cách sử dụngkhông khác biệt vớingữ nghĩa.

inArray_Pocation, nullđược trả về nếu không tìm thấy giá trị.

inArray_Pocations, nullchỉ được trả về nếu tỷ lệ kèo bóng đá lànull; Nếu giá trị không được tìm thấy trong tỷ lệ kèo bóng đá, một tỷ lệ kèo bóng đá trống được trả về thay thế.

inString_to_array, Nếu tham số Delimiter là null, mỗi ký tự trong chuỗi đầu vào sẽ trở thành một phần tử riêng biệt trong tỷ lệ kèo bóng đá kết quả. Nếu dấu phân cách là một chuỗi trống, thì toàn bộ chuỗi đầu vào được trả về dưới dạng tỷ lệ kèo bóng đá một phần tử.

inString_to_array, Nếu tham số chuỗi null bị bỏ qua hoặc null, không có chất nền nào của đầu vào sẽ được thay thế bằng null. TRONGArray_TO_String28901_29045

Lưu ý

Có hai sự khác biệt trong hành vi củaString_to_arrayTừ các phiên bản Pre-9.1 củaPostgreSQL. Đầu tiên, nó sẽ trả về một tỷ lệ kèo bóng đá trống (không phần tử) thay vì null khi chuỗi đầu vào có độ dài bằng không.

Xem thêmPhần 9.20Giới thiệu về hàm tổng hợpmảng_aggđể sử dụng với các tỷ lệ kèo bóng đá.