Postgresql | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 8. | Chuyển tiếp nhanh | NEXT |
PostgreSQLCho phép các cột của
Để 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
Để 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
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_DIMS
Hàm:
chọn Array_DIMS (Lịch trình) từ Sal_emp WHERE Tên = 'Carol';
Array_DIMS
Sản xuất ATextKết quả, thuận tiện chomảng_upper
vàArray_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';
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]và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_Append
hoặcmảng_cat
. Hai người đầu tiên chỉ hỗ trợmảng_cat
Hỗ 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]);
Để 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ể
Biểu diễn văn bản bên ngoài của giá trị soi kèo bóng đá truoctran bao gồmvà) 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\và"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