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 / 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ách đọc kèo bóng đá phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

8.3. cách đọc kèo bóng đá ký tự

Bảng 8-4. cách đọc kèo bóng đá ký tự

tên Mô tả
Nhân vật khác nhau (n), Varchar (n) độ dài biến với giới hạn
ký tự (n), char (n) độ dài cố định, đệm trống
Text Biến độ dài không giới hạn

Bảng 8-4Hiển thị cách đọc kèo bóng đá ký tự có mục đích chung có sẵn trongPostgreSQL.

SQLXác định hai cách đọc kèo bóng đá ký tự chính:Nhân vật khác nhau (n)ký tự (n), trong đónlà một số nguyên dương. Cả hai cách đọc kèo bóng đá này đều có thể lưu trữ chuỗi lên đếnnký tự (không phải byte) theo chiều dài. Một nỗ lực để lưu trữ một chuỗi dài hơn vào một cột của cách đọc kèo bóng đá này sẽ dẫn đến một lỗi, trừ khi các ký tự dư là tất cả các khoảng trắng, trong trường hợp đó, chuỗi sẽ bị cắt theo độ dài tối đa.SQLTiêu chuẩn.) Nếu chuỗi được lưu trữ ngắn hơn độ dài được khai báo, cách đọc kèo bóng đá giá trị của loạiký tựsẽ được dán không gian; giá trị của cách đọc kèo bóng đáNhân vật khác nhauSẽ chỉ cần lưu trữ chuỗi ngắn hơn.

Nếu người ta chọn một giá trị rõ ràng làNhân vật khác nhau (n)hoặcký tự (n), sau đó giá trị dài hơn sẽ bị cắt xuốngncách đọc kèo bóng đá ký tự không gây ra lỗi. (Điều này cũng được yêu cầu bởiSQLtiêu chuẩn.)

cách đọc kèo bóng đá ký hiệuVarchar (n)char (n)là bí danh choNhân vật khác nhau (n)ký tự (n), tương ứng.ký tựKhông có trình xác định độ dài tương đương vớiký tự (1). Nếu nhưNhân vật khác nhauđược sử dụng mà không có trình xác định độ dài, loại chấp nhận cách đọc kèo bóng đá chuỗi ở mọi kích thước. Cái sau làPostgreSQLMở rộng.

Ngoài ra,PostgreSQLcung cấpTextLoại, lưu trữ cách đọc kèo bóng đá chuỗi có độ dài. Mặc dù loạiTextkhông có trongSQLTiêu chuẩn, một số hệ thống quản lý cơ sở dữ liệu SQL khác cũng có nó.

Giá trị cách đọc kèo bóng đáNhân vậtđược đệm vật lý với cách đọc kèo bóng đá khoảng cách theo chiều rộng được chỉ địnhn, và được lưu trữ và hiển thị theo cách đó. Tuy nhiên, không gian dấu vết được coi là không đáng kể về mặt ngữ nghĩa và bị coi thường khi so sánh hai giá trị của cách đọc kèo bóng đáNhân vật. Trong cách đọc kèo bóng đá đối chiếu trong đó khoảng trắng là đáng kể, hành vi này có thể tạo ra kết quả bất ngờ;Chọn 'A' :: Char (2) đối chiếu "C" <e'a \ n ':: char (2)Trả về đúng, mặc dùCLocale sẽ coi một không gian lớn hơn một dòng mới. Không gian dấu vết được gỡ bỏ khi chuyển đổi mộtký tựGiá trị cho một trong cách đọc kèo bóng đá chuỗi khác. Lưu ý rằng không gian dấu vếtcó ý nghĩa về mặt ngữ nghĩa trongNhân vật khác nhauTextgiá trị và khi sử dụng khớp mẫu, đó lànhưvà cách đọc kèo bóng đá biểu thức chính quy.

The storage requirement for a short string (up to 126 bytes) is 1 byte plus the actual string, which includes the space padding in the case ofký tự. cách đọc kèo bóng đá chuỗi dài hơn có 4 byte chi phí thay vì 1. cách đọc kèo bóng đá chuỗi dài được nén tự động bởi hệ thống, do đó, yêu cầu vật lý trên đĩa có thể ít hơn.nTrong khai báo kiểu dữ liệu ít hơn thế. Sẽ không hữu ích khi thay đổi điều này bởi vì với mã hóa ký tự multibyte, số lượng ký tự và byte có thể khá khác nhau.TexthoặcNhân vật khác nhauKhông có bộ xác định độ dài, thay vì tạo ra giới hạn độ dài tùy ý.)

Tip:Không có sự khác biệt về hiệu suất giữa ba cách đọc kèo bóng đá này, ngoài không gian lưu trữ tăng khi sử dụng cách đọc kèo bóng đá đệm trống và một vài chu kỳ CPU thêm để kiểm tra độ dài khi lưu trữ vào cột bị hạn chế. Trong khiký tự (n)có lợi thế về hiệu suất trong một số hệ thống cơ sở dữ liệu khác, không có lợi thế như vậy trongPostgreSQL; Trên thực tếký tự (n)thường là chậm nhất trong ba vì chi phí lưu trữ bổ sung. Trong hầu hết cách đọc kèo bóng đá tình huốngTexthoặcNhân vật khác nhaunên được sử dụng thay thế.

Tham khảoPhần 4.1.2.1Để biết thông tin về cú pháp của chuỗi chữ và đếnChương 9Để biết thông tin về cách đọc kèo bóng đá toán tử và chức năng có sẵn. Bộ ký tự cơ sở dữ liệu xác định tập ký tự được sử dụng để lưu trữ cách đọc kèo bóng đá giá trị văn bản;Phần 22.3.

Ví dụ 8-1. Sử dụng cách đọc kèo bóng đá ký tự

Tạo bảng Test1 (một ký tự (4));(1)
A | char_lengthTạo bảng Test2 (b varchar (5));Lỗi: Giá trị quá dài cho cách đọc kèo bóng đá ký tự khác nhau (5)Chèn vào cách đọc kèo bóng đá giá trị Test2 ('quá dài' :: Varchar (5)); - Cắt ngắn rõ ràngB | char_length
(1)
Thechar_lengthHàm được thảo luận trongPhần 9.4.

Có hai cách đọc kèo bóng đá ký tự có độ dài cố định khác trongPostgreSQL, hiển thị trongBảng 8-5. Thetêncách đọc kèo bóng đá tồn tạichỉĐể lưu trữ cách đọc kèo bóng đá định danh trong cách đọc kèo bóng đá danh mục hệ thống nội bộ và không được sử dụng bởi người dùng chung. Độ dài của nó hiện được xác định là 64 byte (63 ký tự có thể sử dụng cộng với Terminator) nhưng nên được tham chiếu bằng cách sử dụng hằng sốĐược đặt têninCMã nguồn. Độ dài được đặt tại thời điểm biên dịch (và do đó có thể điều chỉnh cho mục đích sử dụng đặc biệt);"Char"(Lưu ý cách đọc kèo bóng đá trích dẫn) khác vớiChar (1)Trong đó nó chỉ sử dụng một byte lưu trữ. Nó được sử dụng nội bộ trong cách đọc kèo bóng đá danh mục hệ thống như một loại liệt kê đơn giản.

Bảng 8-5. cách đọc kèo bóng đá ký tự đặc biệt

tên Kích thước lưu trữ Mô tả
"Char" 1 byte cách đọc kèo bóng đá nội bộ đơn lẻ
tên 64 byte cách đọc kèo bóng đá nội bộ cho tên đối tượng