Bảng 8.4. Các kèo chấp bóng đá hôm nay ký tự
tên | Mô tả |
---|---|
Nhân vật khác nhau ( , Varchar ( |
độ dài biến với giới hạn |
ký tự ( , char ( , bpchar ( |
độ dài cố định, trống tròn |
bpchar |
Độ dài kèo chấp bóng đá hôm nay giới hạn, được cắt trống |
Text |
Biến độ dài kèo chấp bóng đá hôm nay giới hạn |
Bảng 8.4Hiển thị các kèo chấp bóng đá hôm nay ký tự có mục đích chung có sẵn trongPostgreSQL.
SQLXác định hai kèo chấp bóng đá hôm nay ký tự chính:Nhân vật khác nhau (
vàn
)ký tự (
, trong đón
)n
là một số nguyên dương. Cả hai kèo chấp bóng đá hôm nay này đều có thể lưu trữ chuỗi lên đếnn
ký 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ác kèo chấp bóng đá hôm 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.) Tuy nhiên, nếu người ta đưa ra một giá trị rõ ràng làNhân vật khác nhau (
hoặcn
)ký tự (
, sau đó giá trị dài quán
)n
ký tự mà kèo chấp bóng đá hôm nay gây ra lỗi. (Điều này cũng đượ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ác giá trị của kèo chấp bóng đá hôm nayNhân vật
sẽ được dán không gian; giá trị của kèo chấp bóng đá hôm nayNhân vật khác nhau
Sẽ chỉ cần lưu trữ chuỗi ngắn hơn.
Ngoài ra,PostgreSQLcung cấpText
kèo chấp bóng đá hôm nay, lưu trữ các chuỗi có độ dài. Mặc dùText
kèo chấp bóng đá hôm nay khô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ó.Text
làPostgreSQL15049_15163Text
kèo chấp bóng đá hôm nayNhân vật khác nhau
. Cho nhiều mục đích,Nhân vật khác nhau
hoạt động như thể nó làDOMAINOverText
.
tên kèo chấp bóng đá hôm nayVarchar
là bí danh choNhân vật khác nhau
, trong khibpchar
(với trình xác định độ dài) vàchar
là bí danh choNhân vật
. TheVarchar
vàchar
Bí danh được xác định trongSQLtiêu chuẩn;bpchar
là mộtPostgreSQLphần mở rộng.
Nếu được chỉ định, độ dàin
phải lớn hơn 0 và kèo chấp bóng đá hôm nay thể vượt quá 10,485,760. Nếu nhưNhân vật khác nhau
(hoặcVarchar
) được sử dụng mà không có trình xác định độ dài, kèo chấp bóng đá hôm nay chấp nhận chuỗi có độ dài nào. Nếu nhưbpchar
Thiếu bộ xác định độ dài, nó cũng chấp nhận kèo chấp bóng đá hôm nay chuỗi có độ dài nào, nhưng không gian theo dõi là không đáng kể về mặt ngữ nghĩa. Nếu nhưký tự
(hoặcChar
) thiếu một nhà xác định, nó tương đương vớiký tự (1)
.
Giá trị kèo chấp bóng đá hôm nayNhân vật
được đệm vật lý với kèo chấp bóng đá hôm nay 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, 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 kèo chấp bóng đá hôm nayNhân vật
. Trong kèo chấp bóng đá hôm 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ùC
Locale sẽ coi một kèo chấp bóng đá hôm nay gian lớn hơn một dòng mới. kèo chấp bóng đá hôm nay gian dấu vết được gỡ bỏ khi chuyển đổi mộtký tự
Giá trị cho một trong các kèo chấp bóng đá hôm 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 nhau
vàText
giá trị và khi sử dụng khớp mẫu, đó lànhư
và kèo chấp bóng đá hôm nay biểu thức chính quy.
Các ký tự có thể được lưu trữ trong bất kỳ kèo chấp bóng đá hôm nay 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 23.3.
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 phần đệm kèo chấp bóng đá hôm nay gian trong trường hợpNhân vật
. kèo chấp bóng đá hôm nay chuỗi dài hơn có 4 byte chi phí thay vì 1. kèo chấp bóng đá hôm 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.n
Trong khai báo kiểu dữ liệu ít hơn thế. Sẽ kèo chấp bóng đá hôm nay 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.Text
hoặcNhân vật khác nhau
kèo chấp bóng đá hôm nay có bộ xác định độ dài, thay vì tạo ra giới hạn độ dài tùy ý.)
19158_19389ký tự (
có lợi thế về hiệu suất trong một số hệ thống cơ sở dữ liệu khác, kèo chấp bóng đá hôm nay có lợi thế như vậy trongPostgreSQL; Trên thực tến
)Nhân vật (
thường là chậm nhất trong ba vì chi phí lưu trữ bổ sung. Trong hầu hết kèo chấp bóng đá hôm nay tình huốngn
)Text
hoặcNhân vật khác nhau
nê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ề kèo chấp bóng đá hôm nay toán tử và chức năng có sẵn.
Ví dụ 8.1. Sử dụng các kèo chấp bóng đá hôm nay ký tự
Tạo bảng Test1 (một ký tự (4));(1)A | char_length
Tạo bảng Test2 (b varchar (5));Lỗi: Giá trị quá dài cho kèo chấp bóng đá hôm nay ký tự khác nhau (5)
Chèn vào kèo chấp bóng đá hôm nay giá trị test2 ('quá dài' :: varchar (5)); - Cắt ngắn rõ ràngB | char_length
Có hai kèo chấp bóng đá hôm nay ký tự có độ dài cố định khác trongPostgreSQL, hiển thị trongBảng 8.5. Chúng không dành cho việc sử dụng đa năng, chỉ để sử dụng trong kèo chấp bóng đá hôm nay danh mục hệ thống nội bộ.tên
kèo chấp bóng đá hôm nay được sử dụng để lưu trữ số nhận dạng. Độ 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ên
inC
Mã 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 ý kèo chấp bóng đá hôm nay trích dẫn) khác vớiChar (1)
Trong đó nó chỉ sử dụng một byte lưu trữ và do đó chỉ có thể lưu trữ một ký tự ASCII duy nhất. Nó được sử dụng trong danh mục hệ thống như một kèo chấp bóng đá hôm nay liệt kê đơn giản.
Bảng 8.5. Các kèo chấp bóng đá hôm nay ký tự đặc biệt
tên | Kích thước lưu trữ | Mô tả |
---|---|---|
"Char" |
1 byte | kèo chấp bóng đá hôm nay nội bộ đơn lẻ |
tên |
64 byte | kèo chấp bóng đá hôm nay nội bộ cho tên đối tượng |