10058_10097 | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 8. Kiểu dữ liệu | Chuyển tiếp nhanh | Tiếp theo |
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 |
11753_11765n), 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 chính cách đọc kèo bóng đá ký tự:Nhân vật khác nhau (n)vàký tự (n12530_12533, trong đónlà một số nguyên dương. Cả hai cách đọc kèo bóng đá này có thể lưu trữ chuỗi lên đếnnký tự (không phải byte) theo chiều dài. MỘT Cố gắng 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 tất cả các ký tự dư thừa không gian, trong trường hợp đó, chuỗi sẽ bị cắt ngắn đến mức tối đa chiều dài. (Ngoại lệ hơi kỳ quái này được yêu cầu bởiSQLTiê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ạiNhân vậtsẽ được dán không gian; giá trị của kiểu13204_13223Sẽ 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.)
cách đọc kèo bóng đá ký hiệuVarchar (n13755_13758vàchar (n)là bí danh vìNhân vật khác nhau (n)và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 không có độ dài Công cụ xác định, cách đọc kèo bóng đá 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ấpTextcách đọc kèo bóng đá, lưu trữ Chuỗi có chiều dài. Mặc dù cách đọc kèo bóng đáTextkhô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ó.
Giá trị cách đọc kèo bóng đá14696_14707là vật lý Được đệm với khoảng trống theo chiều rộng được chỉ địnhn, và được lưu trữ và hiển thị theo cách đó. Tuy nhiên, cách đọc kèo bóng đá không gian đệm được coi là ngữ nghĩa không đáng kể. Không gian dấu vết bị coi thường khi so sánh hai giá trị của loạiNhân vậtvà chúng sẽ Đã xóa khi chuyển đổi mộtký tựGiá trị đến một trong cách đọc kèo bóng đá chuỗi khác. Lưu ý rằng không gian dấu vếtlàvề mặt ngữ nghĩa ý nghĩa trongNhân vật khác nhauvàTextGiá trị.
Yêu cầu lưu trữ cho một chuỗi ngắn (tối đa 126 byte) là 1 byte cộng với chuỗi thực tế, bao gồm không gian đệm trong trường hợpký tự. Lâu hơn Chuỗi có 4 byte trên đầu thay vì 1. 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ị rất dài cũng là được lưu trữ trong cách đọc kèo bóng đá bảng nền để chúng không can thiệp vào Truy cập nhanh vào cách đọc kèo bóng đá giá trị cột ngắn hơn. Trong mọi trường hợp, lâu nhất Chuỗi ký tự có thể được lưu trữ là khoảng 1 GB. (The giá trị tối đa sẽ được phép chonTrong khai báo kiểu dữ liệu nhỏ hơn cái đó. Nó sẽ không hữu ích để thay đổi điều này bởi vì với multibyte mã hóa ký tự số lượng ký tự và byte có thể Khá khác nhau. Nếu bạn muốn lưu trữ cách đọc kèo bóng đá 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:16478_16734ký 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 số cách đọc kèo bóng đá ba vì chi phí lưu trữ bổ sung của nó. Trong hầu hết 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 đá nhà khai thác 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; vì Thêm thông tin về hỗ trợ bộ ký tự, tham khảoPhần 22.2.
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)); Chèn vào cách đọc kèo bóng đá giá trị Test1 ('OK'); Chọn A, char_length (a) từ Test1; -(1) A | char_length ------+------------- ok | 2Tạo bảng Test2 (b varchar (5)); Chèn vào cách đọc kèo bóng đá giá trị test2 ('ok'); Chèn vào cách đọc kèo bóng đá giá trị test2 ('tốt'); Chèn vào cách đọc kèo bóng đá giá trị test2 ('quá dài');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àng Chọn b, char_length (b) từ test2;B | char_length -------+------------- ok | 2 Tốt | 5 quá l | 5
char_length
Hàm
được thảo luận trongPostgreSQL: Tài.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 cách đọc kèo bóng đá 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); mặc định Độ dài tối đa có thể thay đổi trong một bản phát hành trong tương lai. cách đọc kèo bóng đá"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 của kho. 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.