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

Chương 3. Dữ kèo bóng đá hom nay Loại

PostgreSQLcó một bộ phong phú Các loại dữ kèo bóng đá hom nay bản địa có sẵn cho người dùng. Người dùng có thể thêm các loại mới vào13397_13409Sử dụngTạo kèo bóng đá hom naylệnh.

Bảng 3-1Hiển thị tất cả Các loại dữ kèo bóng đá hom nay đa năng bao gồm trong phân phối tiêu chuẩn. Hầu hết các tên thay thế được liệt kê trong"Bí danh"Cột là tên được sử dụng bên trong bởiPostgreSQLĐối với lịch sử lý do. Ngoài ra, một số kèo bóng đá hom nay được sử dụng trong nội bộ hoặc không dùng nữa có sẵn, nhưng chúng không được liệt kê ở đây.

Bảng 3-1. Kiểu dữ kèo bóng đá hom nay

tên kèo bóng đá hom nay Bí danh Mô tả
Bigint INT8 Đã ký số nguyên tám byte
BigSerial serial8 Autoincrementing Eight-byte Integer
bit Chuỗi bit có độ dài cố định
Bit thay đổi (n) varbit (n) 15003_15031
Boolean bool Boolean logic (Đúng/Sai)
Box Hộp hình chữ nhật trong mặt phẳng 2D
bytea Dữ kèo bóng đá hom nay nhị phân
ký tự (n) char (n) Chuỗi ký tự có độ dài cố định
Nhân vật khác nhau (n) Varchar (n) Chuỗi ký tự có độ dài thay đổi
CIDR địa chỉ mạng IP
Circle vòng tròn trong mặt phẳng 2D
ngày Ngày lịch (năm, tháng, ngày)
Double Precision float8 Số điểm nổi chính xác gấp đôi
inet Địa chỉ máy chủ IP
Số nguyên int, INT4 Đã ký Byte Integer
Khoảng thời gian (P) Khoảng thời gian sử dụng chung
Line dòng vô hạn trong mặt phẳng 2D
LSEG Phân đoạn dòng trong mặt phẳng 2D
MacAddr Địa chỉ MAC
tiền Tiền tệ kiểu US
17835_17848P, S)] thập phân [(P, S)] Số chính xác với độ chính xác có thể chọn
oid Định danh đối tượng
đường dẫn Đường dẫn hình học mở và đóng trong mặt phẳng 2D
điểm Điểm hình học trong mặt phẳng 2D
Polygon Đường dẫn hình học đóng trong mặt phẳng 2D
Real float4 Số điểm nổi chính xác đơn
SmallInt INT2 Đã ký hai byte
sê -ri serial4 Autoincrementing Byte Integer
Text Chuỗi ký tự có độ dài thay đổi
Thời gian [(P)] [Không có múi giờ ] Thời gian trong ngày
Thời gian [(P)] với múi giờ Timetz Thời gian trong ngày, bao gồm múi giờ
dấu thời gian [(p)] Không có múi giờ Dấu thời gian Ngày và giờ
dấu thời gian [(P)] [với múi giờ] TIMESTAMPTZ Ngày và giờ, bao gồm múi giờ

Khả năng tương thích:kèo bóng đá hom nay loại sau (hoặc chính tả của nó) được chỉ định bởi SQL:bit, Bit thay đổi, Boolean, Char, Nhân vật, Nhân vật khác nhau, Varchar, ngày, Độ chính xác gấp đôi, Số nguyên, Khoảng, Số, thập phân, Real, smallint, Thời gian, 21196_21207(cả có hoặc không có thời gian vùng).

21288_21490PostgreSQL, chẳng hạn như đường dẫn mở và đóng, hoặc có một số khả năng cho kèo bóng đá hom nay định dạng, chẳng hạn như kèo bóng đá hom nay loại ngày và thời gian. Hầu hết kèo bóng đá hom nay đầu vào và đầu ra kèo bóng đá hom nay chức năng tương ứng với kèo bóng đá hom nay loại cơ sở (ví dụ: số nguyên và Số điểm nổi) Làm một số kiểm tra lỗi. Một số đầu vào và kèo bóng đá hom nay chức năng đầu ra không thể đảo ngược. Đó là kết quả của Hàm đầu ra có thể mất độ chính xác khi so sánh với Đầu vào gốc.

Một số toán tử và chức năng (ví dụ: bổ sung và phép nhân) không thực hiện kiểm tra lỗi thời gian chạy trong Lợi ích của việc cải thiện tốc độ thực hiện. Trên một số hệ thống, cho Ví dụ, các toán tử số cho một số loại dữ kèo bóng đá hom nay có thể âm thầm Dòng chảy hoặc tràn.

3.1. kèo bóng đá hom nay loại số

kèo bóng đá hom nay loại số bao gồm hai, bốn và tám byte số nguyên, số thả nổi bốn và tám byte và Số thập phân có chính xác cố định.

Bảng 3-2. kèo bóng đá hom nay loại số

tên kèo bóng đá hom nay Kích thước lưu trữ Mô tả phạm vi
SmallInt 2 byte Chính xác cố định -32768 đến +32767
Số nguyên 4 byte Lựa chọn thông thường cho chính xác cố định -2147483648 đến +2147483647
Bigint 8 byte Phạm vi chính xác cố định rất lớn -9223372036854775808 đến 9223372036854775807
thập phân biến độ chính xác do người dùng chỉ định, chính xác Không giới hạn
Số biến Độ chính xác do người dùng chỉ định, chính xác Không giới hạn
Real 4 byte Chính xác biến, không chính xác 6 chữ số thập phân chính xác
Double Precision 8 byte Chính xác biến, không chính xác 15 chữ số thập phân chính xác
Nối tiếp 4 byte Số nguyên tự động 1 đến 2147483647
BigSerial 8 byte Số nguyên tự động 1 đến 9223372036854775807

Cú pháp của hằng số cho kèo bóng đá hom nay loại số được mô tả TRONGPhần 1.1.2. kèo bóng đá hom nay loại số có một bộ đầy đủ tương ứng kèo bóng đá hom nay toán tử và chức năng số học. Tham khảoChương 4Để biết thêm thông tin. kèo bóng đá hom nay kèo bóng đá hom nay phần sau mô tả kèo bóng đá hom nay loại một cách chi tiết.

3.1.1. kèo bóng đá hom nay loại số nguyên

kèo bóng đá hom nay loạiSmallInt, Số nguyên, Bigint26029_26216

kèo bóng đá hom naySố nguyênlà thông thường sự lựa chọn, vì nó cung cấp sự cân bằng tốt nhất giữa phạm vi, lưu trữ Kích thước và hiệu suất. TheSmallIntkèo bóng đá hom nay thường chỉ được sử dụng nếu không gian đĩa ở mức cao. TheBigintkèo bóng đá hom nay chỉ nên được sử dụng nếu TheSố nguyênPhạm vi không đủ, bởi vì cái sau chắc chắn nhanh hơn.

TheBigintLoại không thể hoạt động chính xác trên tất cả kèo bóng đá hom nay nền tảng, vì nó dựa vào trình biên dịch Hỗ trợ cho số nguyên tám byte. Trên máy không có ủng hộ,Biginthoạt động giống nhưSố nguyên(nhưng vẫn chiếm tám byte lưu trữ). Tuy nhiên, chúng tôi không biết về bất kỳ hợp lý nào nền tảng nơi này thực sự là trường hợp.

SQL chỉ chỉ định kèo bóng đá hom nay loại số nguyênSố nguyên(hoặcint) vàSmallInt. kèo bóng đá hom nayBigintvà tên kèo bóng đá hom nayINT2, INT4INT827418_27494

Lưu ý:Nếu bạn có một cột kèo bóng đá hom naySmallInthoặcBigintVới một chỉ mục, bạn có thể gặp sự cố khi nhận được hệ thống để sử dụng chỉ mục đó. Chẳng hạn, một mệnh đề của biểu mẫu

... trong đó smallint_column = 42

sẽ không sử dụng chỉ mục, vì hệ thống gán kèo bóng đá hom naySố nguyênvới hằng số 42 vàPostgreSQLHiện tại không thể sử dụng một chỉ mục khi hai loại dữ kèo bóng đá hom nay khác nhau có liên quan. Một cách giải quyết là để duy nhất không đổi, Do đó:

... trong đó smallint_column = '42'

Điều này sẽ khiến hệ thống trì hoãn độ phân giải kèo bóng đá hom nay và sẽ gán đúng kèo bóng đá hom nay cho hằng số.

3.1.2. Độ chính xác tùy ý Số

kèo bóng đá hom naySốCó thể lưu trữ số có kích thước và độ chính xác không giới hạn thực tế, trong khi có thể Để lưu trữ tất cả kèo bóng đá hom nay số và thực hiện tất cả kèo bóng đá hom nay tính toán chính xác. Nó đặc biệt được khuyến nghị để lưu trữ số tiền tiền tệ và kèo bóng đá hom nay đại lượng khác nơi cần tính chính xác. Tuy nhiên,SốLoại rất chậm so với kèo bóng đá hom nay loại điểm nổi được mô tả trong phần tiếp theo.

29150_29192Scalecủa ASốIS số lượng kèo bóng đá hom nay chữ số thập phân trong phần phân đoạn, cho Quyền của số thập phân. Thechính xáccủa ASốlà tổng số chữ số quan trọng trong toàn bộ số, nghĩa là, số chữ số cho cả hai bên của số thập phân điểm. Vì vậy, số 23.5141 có độ chính xác là 6 và tỷ lệ trong số 4. kèo bóng đá hom nay số nguyên có thể được coi là có tỷ lệ bằng không.

cả độ chính xác và tỷ lệ của kèo bóng đá hom nay số có thể được cấu hình. Để khai báo một cột kèo bóng đá hom naySốSử dụng cú pháp

Số (Precision, Scale)

Độ chính xác phải dương, tỷ lệ 0 hoặc tích cực. Ngoài ra,

Số (độ chính xác)

Chọn thang đo 0. Chỉ định

Số

Không có bất kỳ độ chính xác hoặc tỷ lệ nào tạo ra một cột trong đó giá trị số của bất kỳ độ chính xác và tỷ lệ nào có thể được lưu trữ, lên đến giới hạn thực hiện về độ chính xác. Một cột của cái này Loại sẽ không ép buộc kèo bóng đá hom nay giá trị đầu vào cho bất kỳ quy mô cụ thể nào, trong khiSốkèo bóng đá hom nay cột có khai báo Thang đo sẽ ép buộc kèo bóng đá hom nay giá trị đầu vào cho thang đo đó. (SQL Tiêu chuẩn yêu cầu thang đo mặc định là 0, tức là, ép buộc đối với Độ chính xác số nguyên. Chúng tôi thấy điều này một chút vô dụng. Nếu bạn lo ngại về tính di động, luôn chỉ định độ chính xác và tỷ lệ rõ ràng.)

Nếu độ chính xác hoặc tỷ lệ của giá trị lớn hơn tuyên bố độ chính xác hoặc tỷ lệ của một cột, hệ thống sẽ cố gắng làm tròn giá trị. Nếu giá trị không thể được làm tròn như vậy Để đáp ứng kèo bóng đá hom nay giới hạn được khai báo, một lỗi được nêu ra.

kèo bóng đá hom nay loạithập phânSốtương đương. Cả hai kèo bóng đá hom nay đều là một phần của Tiêu chuẩn SQL.

3.1.3. kèo bóng đá hom nay loại điểm nổi

Các loại dữ kèo bóng đá hom nayRealDouble Precisionlà không chính xác, chính xác biến đổi kèo bóng đá hom nay loại số. Trong thực tế, những loại này thường là triển khaiIEEE754 Điểm nổi nhị phân (độ chính xác đơn và đôi, tương ứng), đến mức mà bộ xử lý cơ bản, hệ điều hành và trình biên dịch hỗ trợ nó.

Không chính xác có nghĩa là một số giá trị không thể được chuyển đổi chính xác đến định dạng nội bộ và được lưu trữ dưới dạng xấp xỉ, vì vậy Việc lưu trữ và in lại một giá trị có thể hiển thị nhẹ sự khác biệt. Quản lý kèo bóng đá hom nay lỗi này và cách chúng lan truyền thông qua kèo bóng đá hom nay tính toán là chủ đề của toàn bộ nhánh của Toán học và Khoa học Máy tính và sẽ không được thảo luận Xa hơn ở đây, ngoại trừ kèo bóng đá hom nay điểm sau:

  • Nếu bạn yêu cầu lưu trữ và tính toán chính xác (chẳng hạn như Đối với số tiền tiền tệ), hãy sử dụngSốkèo bóng đá hom nay thay thế.

  • 32615_32864

  • So sánh hai giá trị điểm nổi cho sự bình đẳng có thể hoặc có thể không hoạt động như mong đợi.

Thông thường,Realkèo bóng đá hom nay có phạm vi ít nhất -1e+37 đến+1e+37 với độ chính xác ít nhất là 6 chữ số thập phân. TheDouble Precisionkèo bóng đá hom nay bình thường có phạm vi khoảng -1e+308 đến+1e+308 với a Độ chính xác của ít nhất 15 chữ số. Giá trị quá lớn hoặc Quá nhỏ sẽ gây ra lỗi. Làm tròn có thể diễn ra nếu Độ chính xác của một số đầu vào là quá cao. Số quá gần đến 0 không thể đại diện là khác biệt với ý chí bằng không gây ra lỗi dòng chảy.

3.1.4. kèo bóng đá hom nay loại nối tiếp

Thenối tiếpCác loại dữ kèo bóng đá hom nay không thực sự Các loại, nhưng là một sự thuận tiện đáng chú ý để thiết lập độc đáo Các cột định danh trong các bảng. Trong việc thực hiện hiện tại, Chỉ định

Tạo bảngTableName(colnameSê -ri
);

tương đương với việc chỉ định:

Tạo chuỗiTableName_colname_seq;
Tạo bảngTableName(colnameSố nguyên mặc định NextVal ('TableName_colname_seq ') duy nhất không phải là NULL
);

Vì vậy, chúng tôi đã tạo một cột số nguyên và được sắp xếp cho kèo bóng đá hom nay giá trị mặc định của nó được gán từ một trình tạo chuỗi. kèo bóng đá hom nay ràng buộc duy nhất và không có null được áp dụng để đảm bảo rằng kèo bóng đá hom nay giá trị được kiểm soát rõ ràng sẽ không bao giờ là trùng lặp, hoặc.

tên kèo bóng đá hom nayNối tiếpserial4tương đương: cả hai tạoSố nguyênCột. Tên kèo bóng đá hom nayBigSerialserial8Công việc giống như vậy, ngoại trừ việc họ tạo ra mộtBigintCột.BigSerialnên được sử dụng nếu bạn dự đoán sẽ sử dụng nhiều hơn 231Định danh trong suốt vòng đời của bàn.

Trình tự ẩn hỗ trợnối tiếpkèo bóng đá hom nay loại không tự động bị hủy khi A Bảng chứa một loại nối tiếp bị bỏ. Vì vậy, như sau kèo bóng đá hom nay lệnh được thực thi theo thứ tự có thể sẽ thất bại:

Tạo bảngTableName(colnamenối tiếp);
Bàn thảTableName;
Tạo bảngTableName(colnamenối tiếp);

Trình tự sẽ ở lại cơ sở dữ kèo bóng đá hom nay cho đến khi rõ ràng rơi bằng cách sử dụngTrình tự thả. (Cái này Sự khó chịu có thể sẽ được thay đổi trong một số tương lai giải phóng.)