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ế.

kèo bóng đá c18.14.

PostgreSQLCho phép các cột của

8.14.1. Tuyên bố kèo bóng đá c1

Để minh họa việc sử dụng các loại kèo bóng đá c1, chúng tôi tạo ra điều này

Tạo bảng SAL_EMP (

Như được hiển thị, một loại dữ liệu kèo bóng đá c1 được đặt tên bằng cách nối thêm hình vuông[]) đến tên kiểu dữ liệu củaSAL_EMPVới một cột loạiText(tên),Số nguyên(pay_by_quarter), đại diệnText(Lịch trình), đại diện cho nhân viên

Cú pháp choTạo bảngCho phép

Tạo bảng Tictactoe (

Tuy nhiên, việc triển khai hiện tại bỏ qua mọi được cung cấp

Việc triển khai hiện tại không thực thi được tuyên bốTạo bảnglà tài liệu đơn giản; Nó không ảnh hưởng đến thời gian chạy

một cú pháp thay thế, phù hợp với tiêu chuẩn SQL củakèo bóng đá c1, có thể được sử dụngpay_by_quarterCó thể đã được xác định

pay_by_quarter kèo bóng đá c1 số nguyên [4],

Hoặc, nếu không có kích thước kèo bóng đá c1 nào được chỉ định:

kèo bóng đá c1 số nguyên pay_by_quarter,

Tuy nhiên, như trước đây,PostgreSQLKhông thực thi kích thước

8.14.2. Đầu vào giá trị kèo bóng đá c1

Để viết một giá trị kèo bóng đá c1 dưới dạng hằng số theo nghĩa đen, hãy gửi

'Val1 Delim Val2 Delim... '

WHEREDelimlà dấu phân cáchPG_TYPEmục nhập. Trong số các loại dữ liệu tiêu chuẩnPostgreSQLPhân phối, tất cả đều sử dụng dấu phẩy (,),Boxsử dụng a;). MỗiVallà hằng số của kèo bóng đá c1

'1,2,3, 4,5,6, 7,8,9'

Hằng số này là một kèo bóng đá c1 hai chiều, 3 x 3 bao gồm

Để đặt phần tử của hằng số kèo bóng đá c1 thành null, viếtnullcho giá trị phần tử. (Bất kìnullSẽ làm.) Nếu bạn muốn có một giá trị chuỗi thực tế"NULL", bạn phải đặt dấu ngoặc kép xung quanh

(những loại hằng số kèo bóng đá c1 này thực sự chỉ là mộtPhần. Hằng số ban đầu được coi là một chuỗi và

Bây giờ chúng ta có thể hiển thị một sốChèncâu lệnh:

Chèn vào sal_emp

Kết quả của hai lần chèn trước trông như thế này:

Chọn * từ sal_emp;

kèo bóng đá c1 đa chiều phải có phạm vi phù hợp cho mỗi

Chèn vào sal_emp

Thekèo bóng đá c1Cú pháp Constructor có thể

Chèn vào sal_emp

Lưu ý rằng các phần tử kèo bóng đá c1 là hằng số SQL thông thường hoặckèo bóng đá c1Cú pháp Constructor làPhần.

8.14.3. Truy cập kèo bóng đá c1

Bây giờ, chúng ta có thể chạy một số truy vấn trên bảng. Đầu tiên, chúng tôi hiển thị

Chọn tên từ SAL_EMP trong đó pay_by_quarter [1] < pay_by_quarter [2];

Số đăng ký kèo bóng đá c1 được viết trong hình vuôngPostgreSQLSử dụng đánh số một dựa trênnCác phần tử bắt đầu bằngkèo bóng đá c1 [1]và kết thúc bằngkèo bóng đá c1 [n].

Truy vấn này lấy tiền lương quý thứ ba của tất cả

Chọn pay_by_quarter [3] từ sal_emp;

Chúng ta cũng có thể truy cập các lát hình chữ nhật tùy ý của một kèo bóng đá c1,giới hạn thấp hơn:giới hạn trêncho một hoặc nhiều kích thước kèo bóng đá c1. Ví dụ, truy vấn này

Chọn Lịch trình [1: 2] [1: 1] từ SAL_EMP trong đó tên = 'Bill';

Nếu bất kỳ thứ nguyên nào được viết dưới dạng một lát cắt, tức là, chứa một1với số được chỉ định. Vì[2]được coi là[1: 2], như trong ví dụ này:

Chọn Lịch trình [1: 2] [2] từ SAL_EMP trong đó pay_by_quarter | = 'Bill';

Để tránh sự nhầm lẫn với trường hợp không trượt, tốt nhất là sử dụng[1: 2] [1: 1], không[2] [1: 1].

Biểu thức đăng ký kèo bóng đá c1 sẽ trả về NULL nếuLịch trìnhHiện tại có kích thước[1: 3] [1: 2]sau đó tham chiếuLịch trình [3] [3]mang lại NULL. Tương tự, một kèo bóng đá c1

Một biểu thức lát kèo bóng đá c1 tương tự mang lại NULL nếu kèo bóng đá c1

Kích thước hiện tại của bất kỳ giá trị kèo bóng đá c1 nào có thể được truy xuấtArray_DIMSHàm:

chọn Array_DIMS (Lịch trình) từ Sal_emp WHERE Tên = 'Carol';

Array_DIMSSản xuất ATextKết quả, thuận tiện chomảng_upperArray_Lower, trả lại phần trên và dưới

chọn Array_UPPER (Lịch trình, 1) từ sal_emp trong đó name = 'carol';

Array_lengthSẽ trả về

21760_21883

8.14.4. Sửa đổi kèo bóng đá c1

Một giá trị kèo bóng đá c1 có thể được thay thế hoàn toàn:

CẬP NHẬT SAL_EMP SET PAY_BY_QUARTER = '25000,25000,27000,27000'

hoặc sử dụngkèo bóng đá c1Biểu thức

Cập nhật SAL_EMP SET PAY_BY_QUARTER = kèo bóng đá c1 [25000,25000,27000,27000]

Một kèo bóng đá c1 cũng có thể được cập nhật tại một phần tử duy nhất:

CẬP NHẬT SAL_EMP SET PAY_BY_QUARTER [4] = 15000

hoặc được cập nhật bằng một lát:

CẬP NHẬT SAL_EMP SET PAY_BY_QUARTER [1: 2] = '27000,27000'

Giá trị kèo bóng đá c1 được lưu trữ có thể được mở rộng bằng cách gán choMyArrayhiện có 4 yếu tố, nó sẽ cóMyArray [6];MyArray [5]sẽ chứa null. Hiện tại, sự mở rộng theo cách này là

Bài tập được đăng ký cho phép tạo ra các kèo bóng đá c1 khôngMyArray [-2: 7]Để tạo một kèo bóng đá c1 với

Giá trị kèo bóng đá c1 mới cũng có thể được xây dựng bằng cách sử dụng||:

Chọn kèo bóng đá c1 [1,2] || kèo bóng đá c1 [3,4];

Toán tử Concatenation cho phép một phần tử duy nhấtn-Dimensionaln-Dimensional vàn+1-Dimensional Array.

Khi một phần tử được đẩy vào đầu hoặc

chọn Array_DIMS (1 || '[0: 1] = 2,3' :: int []);

Khi hai kèo bóng đá c1 có số lượng bằng nhau

chọn Array_DIMS (kèo bóng đá c1 [1,2] || kèo bóng đá c1 [3,4,5]);

Khi mộtn-Dimensional kèo bóng đá c1n+1-Dimensional kèo bóng đá c1, kết quả làn-Dimensional Sub-marray thực chất là mộtn+1-Dimensional

chọn Array_DIMS (kèo bóng đá c1 [1,2] || kèo bóng đá c1 [[3,4], [5,6]]);

Một kèo bóng đá c1 cũng có thể được xây dựng bằng cách sử dụng các chức năngArray_Prepend, Array_Appendhoặcmảng_cat. Hai người đầu tiên chỉ hỗ trợmảng_catHỗ trợ các kèo bóng đá c1 đa chiều.

chọn Array_Prepend (1, kèo bóng đá c1 [2,3]);

8.14.5. Tìm kiếm trong kèo bóng đá c1

Để tìm kiếm giá trị trong một kèo bóng đá c1, mỗi giá trị phải

Chọn * từ SAL_EMP trong đó pay_by_quarter [1] = 10000 hoặc

Tuy nhiên, điều này nhanh chóng trở nên tẻ nhạt cho các kèo bóng đá c1 lớn vàPhần 9,21. Các truy vấn trên

Chọn * từ SAL_EMP WHERE 10000 = Any (pay_by_quarter);

Ngoài ra, bạn có thể tìm thấy các hàng trong đó kèo bóng đá c1 có tất cả

Chọn * từ SAL_EMP WHERE 10000 = all (pay_by_quarter);

Ngoài ra,Generate_subscriptscó thể sử dụng chức năng. Vì

Chọn * Từ

Hàm này được mô tả trongBảng.

Tip:kèo bóng đá c1 không phải là bộ; Tìm kiếm cụ thể

8.14.6.

Biểu diễn văn bản bên ngoài của giá trị kèo bóng đá c1 bao gồm) Xung quanh giá trị kèo bóng đá c1 cộng với dấu phân cách,) nhưng có thểtypdelimCài đặt cho loại phần tử của kèo bóng đá c1.PostgreSQLPhân phối, tất cả đều sử dụng dấu phẩy,Box, sử dụng một;). Trong một đa chiều

Thói quen đầu ra kèo bóng đá c1 sẽ đặt dấu ngoặc kép xung quanhnull. Gấp đôi

Theo mặc định, giá trị chỉ mục giới hạn dưới của một kèo bóng đá c1[]) xung quanh mỗi kèo bóng đá c1:) ký tự dấu phân cách ở giữa. kèo bóng đá c1=). Ví dụ:

Chọn F1 [1] [-2] [3] là E2, F1 [1] [-1] [5]

Thói quen đầu ra kèo bóng đá c1 sẽ bao gồm các kích thước rõ ràng trong

Nếu giá trị được viết cho một phần tử lànull(Trong mọi trường hợp biến thể), phần tử được lấy"NULL"được nhập. Ngoài ra, cho ngượcPostgreSQL, Themảng_nullstham số cấu hình có thể được bậtTẮTĐể đàn áp nhận dạngnullnhư một null.

Như được hiển thị trước đó, khi viết một giá trị kèo bóng đá c1 bạn có thể sử dụngphảilàm như vậy nếunullcũng phải được trích dẫn. Để đặt một báo giá kép

Bạn có thể thêm khoảng trắng trước khi nẹp trái hoặc sau một bên phải

Lưu ý:Hãy nhớ rằng những gì bạn viết trong SQLTextgiá trị kèo bóng đá c1 chứa dấu gạch chéo ngược và A

Chèn ... Giá trị (e '"\\\", "\" ""');

Bộ xử lý chuỗi EScap"\", "\" ". Lần lượt,TextDữ liệu\"tương ứng. (Nếu chúng ta làbyteachoPhần) có thể được sử dụng để tránh sự cần thiết phải tăng gấp đôi

Tip:Thekèo bóng đá c1Cú pháp Constructor (xemPhần) thường dễ làm việc hơnkèo bóng đá c1, Cá nhân