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

soi kèo bóng đá truoctran8.10.

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

8.10.1.

Để minh họa việc sử dụng các loại soi kèo bóng đá truoctran, 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 soi kèo bóng đá truoctran đượ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ện choText(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 không thực thi

Trên thực tế, việc triển khai hiện tại không thực thiTạochỉ đơn giản là tài liệu, 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,pay_by_quarterCó thể đã được xác định

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

Cú pháp này yêu cầu hằng số nguyên để biểu thị soi kèo bóng đá truoctranPostgreSQLkhông thực thi kích thước

8.10.2. soi kèo bóng đá truoctran

Để viết giá trị soi kèo bóng đá truoctran 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, loạiBoxSử dụng a;) Nhưng tất cả những người khác sử dụng,). MỗiVallà hằng số của soi kèo bóng đá truoctran

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

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

Để đặt phần tử của hằng số soi kèo bóng đá truoctran thành null, viếtnullcho giá trị phần tử. (Bất kìnullSẽ làm.) Nếu bạn muốn 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ố soi kèo bóng đá truoctran 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;

Thesoi kèo bóng đá truoctranCú pháp Constructor có thể

Chèn vào sal_emp

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

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

Chèn vào sal_emp

8.10.3.

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ý soi kèo bóng đá truoctran đượ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ằngsoi kèo bóng đá truoctran [1]và kết thúc bằngsoi kèo bóng đá truoctran [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 soi kèo bóng đá truoctran,giới hạn thấp hơn:giới hạn trêncho một hoặc nhiều kích thước soi kèo bóng đá truoctran. Ví dụ, truy vấn này

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

Nếu bất kỳ thứ nguyên nào được viết dưới dạng một lát[1: 1]. Nếu một chiều chỉ có một số duy nhất1với số được chỉ định. Ví dụ,[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 đó Tên = 'Bill';

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

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

Kích thước hiện tại của bất kỳ giá trị soi kèo bóng đá truoctran 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 đó Tên = 'Carol';

8.10.4.

Một giá trị soi kèo bóng đá truoctran 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ụngsoi kèo bóng đá truoctranBiểu thức

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

Một soi kèo bóng đá truoctran 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 trong một lát:

Cập nhật SAL_EMP SET PAY_BY_QUARTER [1: 2] = '27000,27000'

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

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

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

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

Toán tử Concatenation cho phép một phần tử duy nhấtn-Dimensional soi kèo bóng đá truoctran hoặc mộtn-Dimensional và ann+1-Dimensional soi kèo bóng đá truoctran.

Khi một phần tử duy nhất được đẩy vào đầu

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

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

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

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

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

Một soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran đa chiều.

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

8.10.5.

Để tìm kiếm giá trị trong một soi kèo bóng đá truoctran, bạn phải kiểm tra từng giá trị

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 soi kèo bóng đá truoctran lớn vàPhần 9.17. 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 mà soi kèo bóng đá truoctran có tất cả

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

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

8.10.6. soi kèo bóng đá truoctran

Biểu diễn văn bản bên ngoài của giá trị soi kèo bóng đá truoctran bao gồm) Xung quanh giá trị soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran.PostgreSQLPhân phối, loạiBoxSử dụng dấu chấm phẩy (;) Nhưng tất cả những người khác sử dụng dấu phẩy.) Trong một

Thói quen đầu ra soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran[]) xung quanh mỗi soi kèo bóng đá truoctran:) ký tự dấu phân cách ở giữa. soi kèo bóng đá truoctran=). Ví dụ:

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

Thói quen đầu ra soi kèo bóng đá truoctran 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"sẽ đượ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ị soi kèo bóng đá truoctran, bạn có thểphảilàm như vậy nếunullcũng phải được trích dẫn. Để đặt a

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

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

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

Bộ xử lý chuỗi EScape loại bỏ một cấp độ của"\", "\" ". 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:Thesoi kèo bóng đá truoctranCú pháp Constructor (xemPhần) thường dễ làm việc hơnsoi kèo bóng đá truoctran, cá nhân