PostgreSQL: soi kèo bóng đá truoctran liệu: 9 | |||
---|---|---|---|
prev | UP | Chương 8. Kiểu dữ liệu | Tiếp theo |
Bảng 8-4. tỷ lệ kèo bóng đá tối nay 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ị tỷ lệ kèo bóng đá tối nay ký tự có mục đích chung có sẵn trongPostgreSQL.
SQLXác định hai tỷ lệ kèo bóng đá tối nay ký tự chính:Nhân vật khác nhau (n)vàký tự (n), trong đónlà một số nguyên dương. Cả hai tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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, tỷ lệ kèo bóng đá tối nay giá trị của loạiký tựsẽ được dán không gian; giá trị của tỷ lệ kèo bóng đá tối nayNhâ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 quánký 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.)
tỷ lệ kèo bóng đá tối nay ký hiệuVarchar (n)vàchar (n)là bí danh choNhân vật khác nhau (n)vàký tự (n), tương ứng.Nhân vậtKhô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ó bộ xác định độ dài, loại chấp nhận tỷ lệ kèo bóng đá tối nay chuỗi ở bất kỳ kích thước nào. Cái sau làPostgreSQLMở rộng.
Ngoài ra,PostgreSQLcung cấpTextLoại, lưu trữ tỷ lệ kèo bóng đá tối nay 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ị tỷ lệ kèo bóng đá tối nayNhân vậtđược đệm vật lý với 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 tỷ lệ kèo bóng đá tối nayNhân vật. Trong tỷ lệ kèo bóng đá tối nay đố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 tỷ lệ kèo bóng đá tối nay chuỗi khác. Lưu ý rằng không gian dấu vếtlàcó ý nghĩa về mặt ngữ nghĩa trongNhân vật khác nhauvàTextgiá trị và khi sử dụng khớp mẫu, đó lànhưvà tỷ lệ kèo bóng đá tối nay biểu thức chính quy.
tỷ lệ kèo bóng đá tối nay ký tự có thể được lưu trữ trong bất kỳ loại dữ liệu nào được xác định bởi bộ ký tự cơ sở dữ liệu, được chọn khi cơ sở dữ liệu được tạo. Bất kể bộ ký tự cụ thể, ký tự có mã số không (đôi khi được gọi là NUL)) không thể được lưu trữ.Phần 22.3.
Yêu cầu lưu trữ cho một chuỗi ngắn (tỷ lệ kèo bóng đá tối nay đa 126 byte) là 1 byte cộng với chuỗi thực tế, bao gồm phần đệm không gian trong trường hợpký tự. tỷ lệ kèo bóng đá tối nay chuỗi dài hơn có 4 byte chi phí thay vì 1. tỷ lệ kèo bóng đá tối nay 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:16362_16594ký 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 và sắp xếp chậm hơn. Trong hầu hết tỷ lệ kèo bóng đá tối nay 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ề tỷ lệ kèo bóng đá tối nay toán tử và chức năng có sẵn.
Ví dụ 8-1. Sử dụng tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay ký tự khác nhau (5)Chèn vào tỷ lệ kèo bóng đá tối nay giá trị Test2 ('quá dài' :: Varchar (5)); - Cắt ngắn rõ ràngB | char_length
Có hai tỷ lệ kèo bóng đá tối nay ký tự có độ dài cố định khác trongPostgreSQL, hiển thị trongBảng 8-5. Thetêntỷ lệ kèo bóng đá tối nay tồn tạichỉĐể lưu trữ tỷ lệ kèo bóng đá tối nay định danh trong tỷ lệ kèo bóng đá tối nay 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 ý tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay danh mục hệ thống như một loại liệt kê đơn giản.