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

8.3. kèo bóng đá c1 ký tự

Bảng 8-4. kèo bóng đá c1 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ị kèo bóng đá c1 ký tự có mục đích chung có sẵn trongPostgreSQL.

SQLXác định hai chính kèo bóng đá c1 ký tự:Nhân vật khác nhau (n)ký tự (n12530_12533, trong đónlà một số nguyên dương. Cả hai kèo bóng đá c1 này có thể lưu trữ chuỗi lên đếnnchiều dài ký tự. Một nỗ lực để lưu trữ Một chuỗi dài hơn thành một cột của kèo bóng đá c1 này sẽ dẫn đến một Lỗi, trừ khi các ký tự thừa là tất cả các không gian, trong trường hợp đó Chuỗi sẽ bị cắt theo chiều dài tối đa. (Cái này Một số ngoại lệ kỳ quái được yêu cầu bởiSQLTiêu chuẩn.) Nếu chuỗi được lưu trữ là ngắn hơn độ dài được khai báo, kèo bóng đá c1 giá trị của loạiký tựsẽ được dán không gian; giá trị của kèo bóng đá c1Nhâ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àký tự khác nhau (n)hoặcký tự (n), sau đó an giá trị quá dài sẽ bị cắt xuốngnký tự mà không gây ra lỗi. (Điều này cũng được yêu cầu bởiSQLtiêu chuẩn.)

Lưu ý:trướcPOSTGRESQL7.2, chuỗi quá Long luôn bị cắt ngắn mà không gây ra lỗi, trong bối cảnh đúc rõ ràng hoặc tiềm ẩn.

kèo bóng đá c1 ký hiệuVarchar (n)char (n)là bí danh vìNhân vật khác nhau (n)ký tự (n),, tương ứng.ký tựKhông có độ dài Trình xác định 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ó độ dài Công cụ xác định, kèo bóng đá c1 chấp nhận chuỗi có kích thước. Cái sau làPostgreSQLphần mở rộng.

Ngoài ra,PostgreSQLCung cấpTextkèo bóng đá c1, lưu trữ Chuỗi có chiều dài. Mặc dù kèo bóng đá c1Textkhông có trongSQLTiêu chuẩn, một số cơ sở dữ liệu SQL khác Hệ thống quản lý cũng có nó.

Yêu cầu lưu trữ cho dữ liệu của kèo bóng đá c1 này là 4 byte cộng với chuỗi thực tế và trong trường hợpNhân vậtcộng với phần đệm. Chuỗi dài là được nén tự động bởi hệ thống, vì vậy vật lý Yêu cầu trên đĩa có thể ít hơn. Giá trị dài cũng được lưu trữ trong bảng nền để chúng không can thiệp vào việc truy cập nhanh chóng vào kèo bóng đá c1 giá trị cột ngắn hơn. Trong mọi trường hợp, lâu nhất có thể Chuỗi ký tự có thể được lưu trữ là khoảng 1 GB. (Tối đa giá trị sẽ được phép chonTrong khai báo kiểu dữ liệu ít hơn thế. Nó sẽ không được rất hữu ích để thay đổi điều này bởi vì với ký tự multibyte mã hóa số lượng ký tự và byte có thể khá Dù sao đi nữa. Nếu bạn muốn lưu trữ kèo bóng đá c1 chuỗi dài không có giới hạn trên cụ thể, sử dụngTexthoặcNhân vật khác nhauKhông có độ dài trình xác định, 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 kèo bóng đá c1 này, ngoài kích thước lưu trữ tăng lên khi Sử dụng kèo bóng đá c1 trống.

Tham khảoPhần 4.1.2.1Để biết thông tin về cú pháp của chuỗi chữ, và toChương 9Để biết thông tin về kèo bóng đá c1 toán tử và chức năng có sẵn.

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

Tạo bảng Test1 (một ký tự (4));
Chèn vào kèo bóng đá c1 giá trị Test1 ('OK');
Chọn A, char_length (a) từ Test1; -(1)
A | char_length
------+-------------
 ok |           4Tạo bảng Test2 (b varchar (5));
Chèn vào kèo bóng đá c1 giá trị test2 ('ok');
Chèn vào kèo bóng đá c1 giá trị test2 ('tốt');
Chèn vào kèo bóng đá c1 giá trị test2 ('quá dài');Lỗi: Giá trị quá dài đối với kèo bóng đá c1 ký tự khác nhau (5)Chèn vào kèo bóng đá c1 giá trị Test2 ('quá dài' :: Varchar (5)); - Cắt ngắn rõ ràng
Chọn b, char_length (b) từ test2;B | char_length
-------+-------------
 ok |           2
 Tốt |           5
 quá l |           5
(1)
Thechar_lengthHàm được thảo luận trongPhần 9.4.

Có hai kèo bóng đá c1 ký tự có độ dài cố định khác trongPostgreSQL, hiển thị trongBảng 8-5. Thetênkèo bóng đá c1 tồn tạichỉĐể lưu trữ số nhận dạng trong kèo bóng đá c1 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èo bóng đá c1 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ên. Chiều dài là đặt tại thời điểm biên dịch (và do đó có thể điều chỉnh cho đặc biệt sử dụng); Độ dài tối đa mặc định có thể thay đổi trong một bản phát hành trong tương lai. kèo bóng đá c1"Char"(Lưu ý kèo bóng đá c1 trích dẫn) là 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 kèo bóng đá c1 danh mục hệ thống là một loại liệt kê của người nghèo.

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

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