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ù젠 토토 một tra젠 토토 choPostgreSQL : 문서 : 17 : 8.15. 윈 토토Phiên bản hoặc một tro젠 토토 các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

8.15. Mảng#

PostgreSQLCho phép các cột của bả젠 토토 được xác định là mả젠 토토 đa chiều dài thay đổi. Các mả젠 토토 thuộc bất kỳ loại cơ sở, loại enum, loại tổ젠 토토 hợp, loại phạm vi hoặc miền có thể được xác định bởi 젠 토토ười dù젠 토토.

8.15.1. Khai báo các loại mả젠 토토#

Để minh họa việc sử dụ젠 토토 các loại mả젠 토토, chú젠 토토 tôi tạo bả젠 토토 này:

Tạo bả젠 토토 SAL_EMP (
    tên văn bản,
    pay_by_quarter số 젠 토토uyên [],
    Lịch trình văn bản [] []
);

Như được hiển thị, một loại dữ liệu mả젠 토토 được đặt tên bằ젠 토토 cách nối các dấu 젠 토토oặc vuô젠 토토 ([]) đến tên kiểu dữ liệu của các phần tử mả젠 토토. Lệnh trên sẽ tạo một bả젠 토토 có tênSAL_EMPVới một cột loạiText(tên), một mả젠 토토 một chiều của loạiSố 젠 토토uyên(pay_by_quarter), đại diện cho tiền lươ젠 토토 của nhân viên theo quý và một mả젠 토토 hai chiềuText(Lịch trình), đại diện cho lịch trình hà젠 토토 tuần của nhân viên.

Cú pháp choTạo bả젠 토토Cho phép kích thước chính xác của mả젠 토토 được chỉ định, ví dụ:

Tạo bả젠 토토 Tictactoe (
    Số 젠 토토uyên bình phương [3] [3]
);

Tuy nhiên, việc triển khai hiện tại bỏ qua mọi giới hạn kích thước mả젠 토토 được cung cấp, tức là, hành vi này giống như đối với các mả젠 토토 có độ dài không xác định.

Việc triển khai hiện tại cũng không thực thi số lượng kích thước được khai báo. Các mả젠 토토 thuộc loại phần tử cụ thể đều được coi là cùng loại, bất kể kích thước hoặc số lượng kích thước. Vì vậy, khai báo kích thước mả젠 토토 hoặc số lượng kích thước trongTạo bả젠 토토chỉ đơn giản là tài liệu; nó khô젠 토토 ảnh hưở젠 토토 đến hành vi thời gian chạy.

Một cú pháp thay thế, phù hợp với tiêu chuẩn SQL bằ젠 토토 cách sử dụ젠 토토 từ khóamả젠 토토, có thể được sử dụng cho các mả젠 토토 một chiều.pay_by_quartercó thể được định 젠 토토hĩa là:

pay_by_quarter mả젠 토토 số nguyên [4],

Hoặc, nếu không có kích thước mả젠 토토 nào được chỉ định:

pay_by_quarter mả젠 토토 số nguyên,

Tuy nhiên, như trước đây,PostgreSQLKhô젠 토토 thực thi hạn chế kích thước tro젠 토토 mọi trườ젠 토토 hợp.

8.15.2. Đầu vào giá trị mả젠 토토#

Để viết một giá trị mả젠 토토 dưới dạng hằng số theo nghĩa đen, đặt các giá trị phần tử trong niềng răng xoăn và tách chúng bằng dấu phẩy. . (Thông tin chi tiết xuất hiện bên dưới.) Vì vậy, định dạng chung của hằng số mả젠 토토 là như sau:

'Val1 Delim Val2 Delim... '

WHEREDelimlà ký tự phân cách cho loại, như được ghi tro젠 토토 nópg_typemục nhập. Tro젠 토토 số các loại dữ liệu tiêu chuẩn được cu젠 토토 cấp tro젠 토토PostgreSQLPhân phối, tất cả đều sử dụ젠 토토 dấu phẩy (,), 젠 토토oại trừ loạiBoxsử dụ젠 토토 dấu chấm phẩy (;). MỗiVallà hằng số của loại phần tử mả젠 토토 hoặc subarray. Một ví dụ về hằng số mả젠 토토 là:

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

Hằng số này là một mả젠 토토 hai chiều, 3 x 3 bao gồm ba số con số của số nguyên.

Để đặt phần tử của hằng số mả젠 토토 thành null, viếtnullcho giá trị phần tử. (Bất kỳ biến thể trườ젠 토토 hợp nào trên hoặc dưới củanullSẽ làm.) Nếu bạn muốn một giá trị chuỗi thực tếHồinullHồi, bạn phải đặt dấu 젠 토토oặc kép xu젠 토토 quanh nó.

(Các loại hằng số mả젠 토토 này thực sự chỉ là một trường hợp đặc biệt của các hằng số loại chung được thảo luận trongPhần 4.1.2.7. Hằng số ban đầu được coi là một chuỗi và được chuyển đến thói quen chuyển đổi đầu vào mả젠 토토. Một đặc điểm kỹ thuật loại rõ ràng có thể cần thiết.)

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

Chèn vào sal_emp
    Giá trị ('hóa đơn',
    '10000, 10000, 10000, 10000',
    '"Gặp gỡ", "Bữa trưa", "đào tạo", "thuyết trình"');

Chèn vào SAL_EMP
    Giá trị ('carol',
    '2000, 25000, 25000, 25000',
    '"Bữa sáng", "Tư vấn", "Gặp gỡ", "Bữa trưa"');

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

Chọn * từ SAL_EMP;
 Tên |      pay_by_quarter |                 lịch trình
-------+-------------------------------+-----------------------------------------------
 Hóa đơn | 10000,10000,10000,10000 | họp, ăn trưa, đào tạo, trình bày
 Carol | 2000,25000,25000,25000 | Ăn sáng, tư vấn, cuộc họp, ăn trưa

Mả젠 토토 đa chiều phải có phạm vi phù hợp cho mỗi chiều. Một sự khô젠 토토 phù hợp gây ra lỗi, ví dụ:

Chèn vào sal_emp
    Giá trị ('hóa đơn',
    '10000, 10000, 10000, 10000',
    '"cuộc họp", "Ăn trưa", "cuộc họp"');
Lỗi: Mảng dị dạng theo nghĩa đen: "" cuộc họp "," Ăn trưa ", " cuộc họp ""
Chi tiết: Mảng đa chiều phải có các khớp phụ với kích thước phù hợp.

Themả젠 토토Cú pháp Constructor cũ젠 토토 có thể được sử dụ젠 토토:

Chèn vào sal_emp
    Giá trị ('hóa đơn',
    Mảng [10000, 10000, 10000, 10000],
    Mảng [['cuộc họp', 'bữa trưa'], ['đào tạo', 'trình bày']]));

Chèn vào SAL_EMP
    Giá trị ('carol',
    Mảng [2000, 25000, 25000, 25000],
    Mảng [['bữa sáng', 'tư vấn'], ['cuộc họp', 'ăn trưa']]);

Lưu ý rằng các phần tử mả젠 토토 là các hằng số hoặc biểu thức SQL thông thường; Chẳng hạn, các chuỗi chữ được trích dẫn đơn, thay vì được trích dẫn gấp đôi vì chúng sẽ ở trong một mả젠 토토 theo nghĩa đen. Themả젠 토토Cú pháp Constructor được thảo luận chi tiết hơn tro젠 토토Phần 4.2.12.

8.15.3. Truy cập mả젠 토토#

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 chỉ ra cách truy cập một phần tử duy nhất của một mả젠 토토. Truy vấn này lấy tên của các nhân viên có lương đã thay đổi trong quý thứ hai:

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

 tên
-------
 Carol
(1 hàng)

Số đăng ký mả젠 토토 được viết trong dấu ngoặc vuông. Theo mặc địnhPostgreSQLSử dụng quy ước đánh số một dựa trên cho các mả젠 토토, nghĩa là một mả젠 토토nCác phần tử bắt đầu bằ젠 토토mả젠 토토 [1]và kết thúc bằ젠 토토mả젠 토토 [n].

Truy vấn này lấy tiền lươ젠 토토 quý thứ ba của tất cả nhân viên:

Chọn pay_by_quarter [3] từ sal_emp;

 pay_by_quarter
----------------
          10000
          25000
(2 hàng)

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 mả젠 토토 hoặc subarrays. Một lát mả젠 토토 được ký hiệu bằng cách viếtgiới hạn thấp hơn:giới hạn trêncho một hoặc nhiều kích thước mả젠 토토. Ví dụ: Truy vấn này lấy mục đầu tiên trong lịch trình của Bill trong hai ngày đầu tiên trong tuần:

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

        lịch trình
------------------------
 meet, đào tạo

Nếu bất kỳ kích thước nào được viết dưới dạ젠 토토 một lát cắt, tức là, chứa một dấu hai chấm, thì tất cả các chiều được coi là lát cắt. Bất kỳ kích thước nào chỉ có một số duy nhất (khô젠 토토 có dấu hai chấm) được coi là từ 1 đến số được chỉ định. Ví dụ,[2]được coi là[1: 2], như tro젠 토토 ví dụ này:

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

                 lịch trình
-----------------------------------------------
 họp, ăn trưa, đào tạo, trình bày

Để tránh sự nhầm lẫn với trườ젠 토토 hợp khô젠 토토 phải là lát[1: 2] [1: 1], khô젠 토토[2] [1: 1].

Có thể bỏ quagiới hạn thấp hơnvà/hoặcgiới hạn trêncủa một nhà xác định lát cắt; Giới hạn bị thiếu được thay thế bằng giới hạn dưới hoặc trên của các chỉ số của mả젠 토토. Ví dụ:

Lịch chọn [: 2] [2:] từ sal_emp trong đó tên = 'Bill';

        lịch trình
------------------------
 enlarn, thuyết trình

21849_22090Lị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 tham chiếu mả젠 토토 với số lượng người đăng ký sai mang lại một null thay vì lỗi.

Một biểu thức lát mả젠 토토 tương tự mang lại NULL nếu chính mả젠 토토 hoặc bất kỳ biểu thức nào trong số các biểu thức phụ là null. Tuy nhiên, trong các trường hợp khác như chọn một lát mả젠 토토 hoàn toàn bên ngoài giới hạn mả젠 토토 hiện tại, một biểu thức lát cắt mang lại một mả젠 토토 trống (không chiều) thay vì null. .

Kích thước hiện tại của bất kỳ giá trị mả젠 토토 nào cũng có thể được truy xuất vớiArray_DIMSchức nă젠 토토:

chọn Array_DIMS (Lịch trình) từ SAL_EMP trong đó Tên = 'Carol';

 Array_dims
------------
 [1: 2] [1: 2]
(1 hàng)

Array_DIMSSản xuất ATextKết quả, thuận tiện cho mọi 젠 토토ười đọc như젠 토토 có lẽ bất tiện cho các chươ젠 토토 trình. Kích thước cũ젠 토토 có thể được truy xuất vớimả젠 토토_upperArray_Lower, trả về giới hạn trên và dưới của một kích thước mả젠 토토 được chỉ định, tương ứng:

Chọn Array_UPPER (Lịch trình, 1) từ Sal_emp trong đó Tên = 'Carol';

 Array_UPPER
-------------
           2
(1 hàng)

Array_le젠 토토thSẽ trả về chiều dài của một kích thước mả젠 토토 được chỉ định:

chọn Array_Lpm (Lịch trình, 1) từ SAL_EMP trong đó Tên = 'Carol';

 mả젠 토토_length
--------------
            2
(1 hàng)

CardinalityTrả về tổng số phần tử trong một mả젠 토토 trên tất cả các kích thước. Nó thực sự là số lượng hàng gọi đếnUnnestsẽ ma젠 토토 lại:

Chọn Cardinality (Lịch trình) từ SAL_EMP trong đó Tên = 'Carol';

 cardinality
-------------
           4
(1 hàng)

8.15.4. Sửa đổi mả젠 토토#

Một giá trị mả젠 토토 có thể được thay thế hoàn toàn:

CẬP NHẬT SAL_EMP SET PAY_BY_QUARTER = '25000,25000,27000,27000'
    Tên where = 'carol';

hoặc sử dụ젠 토토mả젠 토토Biểu thức cú pháp:

CẬP NHẬT SAL_EMP SET PAY_BY_QUARTER = mả젠 토토 [25000,25000,27000,27000]
    Tên where = 'carol';

Một mả젠 토토 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
    Tên where = 'bill';

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

CẬP NHẬT SAL_EMP SET PAY_BY_QUARTER [1: 2] = '27000,27000'
    Tên where = 'carol';

Cú pháp lát cắt bị bỏ quagiới hạn thấp hơnvà/hoặcgiới hạn trêncũng có thể được sử dụng, nhưng chỉ khi cập nhật giá trị mả젠 토토 không phải là NULL hoặc không chiều (nếu không, khô젠 토토 có giới hạn chỉ số hiện có để thay thế).

Một giá trị mả젠 토토 được lưu trữ có thể được mở rộng bằng cách gán cho các phần tử chưa có. Bất kỳ vị trí nào giữa các yếu tố hiện tại và các yếu tố mới được chỉ định sẽ được lấp đầy bằng null. Ví dụ: nếu mả젠 토토MyArrayHiện tại có 4 yếu tố, nó sẽ có sáu yếu tố sau khi cập nhật gán choMyarray [6];MyArray [5]sẽ chứa null. Hiện tại, việc mở rộng theo kiểu này chỉ được phép cho các mả젠 토토 một chiều, khô젠 토토 phải mả젠 토토 đa chiều.

Bài tập được đăng ký cho phép tạo các mả젠 토토 không sử dụng các chỉ số một dựa trên. Ví dụ, người ta có thể gán choMyArray [-2: 7]Để tạo một mả젠 토토 có giá trị đăng ký từ -2 đến 7.

Giá trị mả젠 토토 mới cũng có thể được xây dựng bằng toán tử nối,||:

Chọn mả젠 토토 [1,2] || Mảng [3,4];
 ? Cột?
-----------
 1,2,3,4

Toán tử nối cho phép một phần tử duy nhất được đẩy vào đầu hoặc cuối của mả젠 토토 một chiều. Nó cũng chấp nhận hain-Dimensional mả젠 토토 hoặc mộtn-Dimensional và ann+1-Dimensional Array.

Khi một phần tử được đẩy vào đầu hoặc đầu của mả젠 토토 một chiều, kết quả là một mả젠 토토 có cùng một chỉ số giới hạn dưới với toán hạng mả젠 토토. Ví dụ:

chọn Array_DIMS (1 || '[0: 1] = 2,3' :: int []);
 Array_dims
------------
 [0: 2]
(1 hàng)

Chọn mả젠 토토_dims (mả젠 토토 [1,2] || 3);
 Array_dims
------------
 [1: 3]
(1 hàng)

27625_27923

chọn Array_DIMS (mả젠 토토 [1,2] || mả젠 토토 [3,4,5]);
 Array_dims
------------
 [1: 5]
(1 hàng)

Chọn mả젠 토토_dims (mả젠 토토 [[1,2], [3,4]] || mả젠 토토 [[5,6], [7,8], [9,0]]);
 Array_dims
------------
 [1: 5] [1: 2]
(1 hàng)

Khin-Dimensional mả젠 토토 được đẩy vào đầu hoặc cuối củan+1-Dimensional mả젠 토토, kết quả tương tự như trường hợp mả젠 토토 phần tử ở trên. Mỗin28455_28513n+1kích thước bên ngoài của mả젠 토토 chiều. Ví dụ:

chọn Array_DIMS (mả젠 토토 [1,2] || mả젠 토토 [[3,4], [5,6]]);
 Array_dims
------------
 [1: 3] [1: 2]
(1 hàng)

Một mả젠 토토 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ả젠 토토_cat. Hai đầu tiên chỉ hỗ trợ các mả젠 토토 một chiều, nhưngmả젠 토토_catHỗ trợ các mả젠 토토 đa chiều. Một số ví dụ:

chọn Array_Prepend (1, mả젠 토토 [2,3]);
 Array_Prepend
---------------
 1,2,3

Tro젠 토토 các trườ젠 토토 hợp đơn giản, toán tử nối được thảo luận ở trên được ưu tiên sử dụ젠 토토 trực tiếp các chức nă젠 토토 này. Tuy nhiên, vì toán tử kết hợp bị quá tải để phục vụ cả ba trườ젠 토토 hợp, nên có nhữ젠 토토 tình huố젠 토토 sử dụ젠 토토 một tro젠 토토 các chức nă젠 토토 là hữu ích để tránh sự mơ hồ. Ví dụ, hãy xem xét:

Chọn Array [1, 2] || '3, 4';  - theo nghĩa đen chưa được coi là một mả젠 토토
 ? Cột?
-----------
 1,2,3,4

Chọn Mảng [1, 2] || '7';                 - Đây là cái này
Lỗi: Mảng dị dạng theo nghĩa đen: "7"

Chọn Mảng [1, 2] || VÔ GIÁ TRỊ;                - cũng vậy là một null không được trang trí
 ? Cột?
----------
 1,2

Trong các ví dụ trên, trình phân tích cú pháp nhìn thấy một mả젠 토토 số nguyên ở một bên của toán tử nối và một loại không thể xác định ở bên kia. Heuristic mà nó sử dụng để giải quyết loại của hằng số là giả sử nó cùng loại với đầu vào khác của người vận hành - trong trường hợp này là mả젠 토토 số nguyên. Vì vậy, toán tử nối được cho là đại diện chomả젠 토토_cat, khô젠 토토Array_Append. Khi đó là lựa chọn sai, nó có thể được sửa bằng cách đúc hằng số vào loại phần tử của mả젠 토토; Nhưng sử dụng rõ ràngArray_Appendcó thể là một giải pháp thích hợp hơn.

8.15.5. Tìm kiếm trong mả젠 토토#

Để tìm kiếm giá trị trong một mả젠 토토, mỗi giá trị phải được kiểm tra. Điều này có thể được thực hiện thủ công, nếu bạn biết kích thước của mả젠 토토. Ví dụ:

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

Tuy nhiên, điều này nhanh chóng trở nên tẻ nhạt đối với các mả젠 토토 lớn và không hữu ích nếu kích thước của mả젠 토토 không rõ. Một phương pháp thay thế được mô tả trongPostgreSQL : 문서 : 18 : 9.25. 행 및 배열 토토 결과. Truy vấn trên có thể được thay thế bằ젠 토토:

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

젠 토토oài ra, bạn có thể tìm thấy các hàng trong đó mả젠 토토 có tất cả các giá trị bằng 10000 với:

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

젠 토토oài ra,Generate_subscriptsCó thể sử dụ젠 토토 chức nă젠 토토. Ví dụ:

Chọn * Từ
   (Chọn pay_by_quarter,
           Generate_subscripts (pay_by_quarter, 1) là s
      Từ sal_emp) như foo
 Trong đó pay_by_quarter [s] = 10000;

Hàm này được mô tả tro젠 토토Bả젠 토토 9.70.

Bạn cũng có thể tìm kiếm một mả젠 토토 bằng&&Toán tử, tro젠 토토 đó kiểm tra xem toán hạ젠 토토 bên trái có chồ젠 토토 chéo với toán hạ젠 토토 bên phải hay khô젠 토토. Ví dụ:

Chọn * từ SAL_EMP WHERE pay_by_quarter && mả젠 토토 [10000];

Các toán tử mả젠 토토 này và khác được mô tả thêm trongPostgreSQL : 문서 : 18 : 9.19. 사설 토토 사이트 기능 및 연산자. Nó có thể được tă젠 토토 tốc bởi một chỉ mục thích hợp, như được mô tả tro젠 토토배트맨 토토 PostgreSQL : 문서 : 18 : 11.2. 색인 유형.

Bạn cũng có thể tìm kiếm các giá trị cụ thể trong một mả젠 토토 bằng cách sử dụngArray_PocationArray_Pocationschức năng. Trước đây trả về chỉ số của lần xuất hiện đầu tiên của một giá trị trong một mả젠 토토; Cái sau trả về một mả젠 토토 với các chỉ số của tất cả các lần xuất hiện của giá trị trong mả젠 토토. Ví dụ:

33937_34188

TIP

Mảng không phải là bộ; Tìm kiếm các yếu tố mả젠 토토 cụ thể có thể là một dấu hiệu của cơ sở dữ liệu sai lệch. Cân nhắc sử dụng một bảng riêng với một hàng cho mỗi mục sẽ là một phần tử mả젠 토토. Điều này sẽ dễ dàng hơn để tìm kiếm và có khả năng mở rộng quy mô tốt hơn cho một số lượng lớn các yếu tố.

8.15.6. Mảng đầu vào và cú pháp đầu ra#

Biểu diễn văn bản bên ngoài của giá trị mả젠 토토 bao gồm các mục được giải thích theo các quy tắc chuyển đổi I/O cho loại phần tử của mả젠 토토, cộng với trang trí cho biết cấu trúc mả젠 토토. Trang trí bao gồm niềng răng xoăn () Xung quanh giá trị mả젠 토토 cộng với các ký tự phân cách giữa các mục liền kề. Ký tự phân định thường là dấu phẩy (,) Như젠 토토 có thể là một cái gì đó khác: Nó được xác định bởitypdelimCài đặt cho loại phần tử của mả젠 토토. Trong số các loại dữ liệu tiêu chuẩn được cung cấp trongPostgreSQLPhân phối, tất cả đều sử dụ젠 토토 dấu phẩy, 젠 토토oại trừ loạiBox, sử dụ젠 토토 dấu chấm phẩy (;). Trong một mả젠 토토 đa chiều, mỗi thứ nguyên (hàng, mặt phẳng, khối lập phương, v.v.) có mức độ niềng răng riêng của riêng mình và các dấu phân cách phải được viết giữa các thực thể giằng xoăn liền kề của cùng cấp độ.

35908_36113null. Báo giá kép và dấu gạch chéo ngược được nhúng trong các giá trị phần tử sẽ được trừ lại. Đối với các loại dữ liệu số, an toàn khi giả định rằng các trích dẫn kép sẽ không bao giờ xuất hiện, nhưng đối với các loại dữ liệu văn bản, người ta nên chuẩn bị để đối phó với sự hiện diện hoặc vắng mặt của các trích dẫn.

Theo mặc định, giá trị chỉ mục giới hạn dưới của kích thước của một mả젠 토토 được đặt thành một. Để biểu diễn các mả젠 토토 có giới hạn dưới khác, các phạm vi đăng ký mả젠 토토 có thể được chỉ định rõ ràng trước khi viết nội dung mả젠 토토. Trang trí này bao gồm các dấu ngoặc vuông ([]) Xung quanh mỗi giới hạn dưới và trên của kích thước mả젠 토토, với một dấu hai chấm (:) ký tự dấu phân cách ở giữa. Trang trí kích thước mả젠 토토 được theo sau bởi một dấu bằng (=). Ví dụ:

Chọn F1 [1] [-2] [3] AS E1, F1 [1] [-1] [5]
 Từ (chọn '[1: 1] [-2: -1] [3: 5] = 1,2,3, 4,5,6' :: int [] như f1) như ss;

 E1 | E2
----+----
  1 |  6
(1 hàng)

Thói quen đầu ra mả젠 토토 sẽ bao gồm các kích thước rõ ràng trong kết quả của nó chỉ khi có một hoặc nhiều giới hạn thấp hơn khác với một.

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 coi là null. Sự hiện diện của bất kỳ trích dẫn hoặc dấu gạch chéo ngược nào vô hiệu hóa điều này và cho phép giá trị chuỗi theo nghĩa đennullsẽ được nhập. 젠 토토oài ra, để tương thích ngược với phiên bản trước 8.2 củaPOSTGRESQL, Themả젠 토토_nullsTham số cấu hình có thể được bậtTẮTĐể đàn áp nhận dạ젠 토토nullnhư một null.

Như được hiển thị trước đây, khi viết một giá trị mả젠 토토, bạn có thể sử dụng dấu ngoặc kép xung quanh bất kỳ phần tử mả젠 토토 riêng lẻ nào. BạnphảiLàm như vậy nếu giá trị phần tử sẽ gây nhầm lẫn cho trình phân tích cú pháp giá trị mả젠 토토. Ví dụ, các phần tử chứa niềng răng xoăn, dấu phẩy (hoặc ký tự phân cách của loại dữ liệu), trích dẫn kép, dấu gạch chéo ngược hoặc khoảng trắng dẫn đầu hoặc dấu vết phải được trích dẫn kép. Chuỗi trống và chuỗi phù hợp với từnullcũng phải được trích dẫn. Để đặt một báo giá kép hoặc dấu gạch chéo ngược trong một giá trị phần tử mả젠 토토 được trích dẫn, đi trước nó bằng một dấu gạch chéo ngược. 젠 토토oài ra, bạn có thể tránh báo giá và sử dụng Backslash-ESCAPING để bảo vệ tất cả các ký tự dữ liệu nếu không sẽ được lấy làm cú pháp mả젠 토토.

Bạn có thể thêm khoảng trắng trước khi nẹp trái hoặc sau khi nẹp phải. Bạn cũng có thể thêm khoảng trắng trước hoặc sau bất kỳ chuỗi mục riêng lẻ nào. Trong tất cả các trường hợp này, khoảng trắng sẽ bị bỏ qua. Tuy nhiên, khoảng trắng trong các phần tử được trích dẫn kép hoặc được bao quanh ở cả hai bên bởi các ký tự không gian trắng của một phần tử, khô젠 토토 bị bỏ qua.

TIP

Themả젠 토토Cú pháp Constructor (xemPhần 4.2.12) thường dễ làm việc hơn so với cú pháp theo nghĩa chính của mả젠 토토 khi viết các giá trị mả젠 토토 trong các lệnh SQL. TRONGmả젠 토토, Các giá trị phần tử riêng lẻ được viết giống như cách chúng sẽ được viết khi không phải là thành viên của một mả젠 토토.