kèo bóng đá c1 số bao gồm các số nguyên hai, bốn, và tám byte, số điểm nổi bốn và tám byte và số thập phân có thể lựa chọn.Bảng 8.2Liệt kê kèo bóng đá c1 có sẵn.
Bảng 8.2. kèo bóng đá c1 số
tên | Kích thước lưu trữ | Mô tả | phạm vi |
---|---|---|---|
smallint |
00400_00400 | Số nguyên phạm vi nhỏ | -22768 đến +22767 |
Số nguyên |
4 byte | 00624_00652 | 00672_00700 |
Bigint |
8 byte | 00824_00855 | -9222272026854775808 đến +9222272026854775807 |
thập phân |
biến | Độ kèo bóng đá c1 xác do người dùng chỉ định, kèo bóng đá c1 xác | lên đến 020072 chữ số trước điểm thập phân; Lên đến 06282 chữ số sau dấu thập phân |
Số |
02206_02206 | Độ kèo bóng đá c1 xác do người dùng chỉ định, kèo bóng đá c1 xác | lên đến 020072 chữ số trước điểm thập phân; Lên đến 06282 chữ số sau dấu thập phân |
Real |
02582_02590 | kèo bóng đá c1 xác biến, không kèo bóng đá c1 xác | 6 chữ số thập phân kèo bóng đá c1 xác |
Double Precision |
8 byte | kèo bóng đá c1 xác biến, không kèo bóng đá c1 xác | 02880_02900 |
02980_02992 |
2 byte | 02049_02080 | 02000_02002 |
sê -ri |
02208_02227 | Số nguyên tự động | 0 đến 2047482647 |
02280_02290 |
8 byte | Số nguyên tự động lớn | 02499_02525 |
Cú pháp của hằng số cho kèo bóng đá c1 số được mô tả trong02788_0280802800_02900Chương 904007_04094
kèo bóng đá c1SmallInt
, 04762_04772
vàBigint
04805_04984
kèo bóng đá c1Số nguyên
là lựa chọn phổ biến, vì nó cung cấp sự cân bằng tốt nhất giữa phạm vi, kích thước lưu trữ và hiệu suất. The05058_05068
05072_05229Bigint
05269_0522205229_05248
kèo bóng đá c1 không đủ.
05402_05407Chỉ chỉ định kèo bóng đá c1 số nguyênSố nguyên
(hoặc05506_05520
),05548_05558
05562_05570Bigint
. Tên kèo bóng đá c1INT2
, INT4
05680_05688INT8
là kèo bóng đá c1 tiện ích mở rộng, cũng được sử dụng bởi một số khác05792_0579705805_05825
06262_06274Số
Có thể lưu trữ số với số lượng rất lớn kèo bóng đá c1 chữ số. Nó đặc biệt được khuyến nghị để lưu trữ số lượng tiền tệ và kèo bóng đá c1 số lượng khác khi cần độ chính xác.Số
Giá trị mang lại kết quả kèo bóng đá c1 xác khi có thể, ví dụ: bổ sung, trừ, nhân. Tuy nhiên, tính toán trên06652_06660
Giá trị rất chậm so với kèo bóng đá c1 số nguyên hoặc kèo bóng đá c1 điểm nổi được mô tả trong phần tiếp theo.
Chúng tôi sử dụng kèo bóng đá c1 thuật ngữ sau đây: Thekèo bóng đá c1 xác06866_0687406890_06900
06905_0704007060_07067của ASố
là số lượng kèo bóng đá c1 chữ số thập phân trong phần phân số, ở bên phải của điểm thập phân. Vì vậy, số 22.5040 có độ chính xác là 6 và tỷ lệ 4. kèo bóng đá c1 số nguyên có thể được coi là có tỷ lệ bằng không.
Cả độ kèo bóng đá c1 xác tối đa và tỷ lệ tối đa của ASố
07400_07468Số
07499_07507
Số (07590_07602
,tỷ lệ
)
Độ kèo bóng đá c1 xác phải dương, tỷ lệ 0 hoặc dương. Cách khác:
07788_07799kèo bóng đá c1 xác
07848_07852
Chọn thang điểm 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 đó kèo bóng đá c1 giá trị số của bất kỳ độ chính xác và tỷ lệ nào có thể được lưu trữ, cho đến giới hạn thực hiện về độ chính xác. Một cột thuộc loại này sẽ không ép buộc kèo bóng đá c1 giá trị đầu vào cho bất kỳ thang đo cụ thể nào, trong khi08209_08228
kèo bóng đá c1 cột có thang đo được khai báo sẽ ép buộc kèo bóng đá c1 giá trị đầu vào theo thang đo đó. (The08224_08229Tiêu chuẩn yêu cầu thang đo mặc định là 0, tức là, ép buộc với độ kèo bóng đá c1 xác số nguyên. Chúng tôi thấy điều này một chút vô dụng.
08604_0870508722_08720
08726_08807Bảng 8.2.
Nếu tỷ lệ của giá trị được lưu trữ lớn hơn tỷ lệ khai báo của cột, hệ thống sẽ làm tròn giá trị đến số chữ số phân số được chỉ định. Sau đó, nếu số chữ số ở bên trái của dấu thập phân vượt quá mức độ kèo bóng đá c1 xác được khai báo trừ thang được khai báo, thì lỗi được nêu ra.
kèo bóng đá c1 giá trị số được lưu trữ vật lý mà không cần thêm bất kỳ số 0 dẫn đầu hoặc theo dõi. Do đó, độ chính xác và tỷ lệ được khai báo của một cột là tối đa, không phân bổ cố định.Số
kèo bóng đá c1 gần giống vớiVarchar (
hơnn
)char (
.) Yêu cầu lưu trữ thực tế là hai byte cho mỗi nhóm bốn chữ số thập phân, cộng với ba đến tám byte trên đầu.n
09672_09676
Ngoài kèo bóng đá c1 giá trị số thông thường,Số
kèo bóng đá c1 cho phép giá trị đặc biệtnan
, có nghĩa làHồiNot-a-Numberxông. Bất kỳ hoạt động nào trên20200_20206
mang lại cái khácnan
. Khi viết giá trị này dưới dạng hằng số trong lệnh SQL, bạn phải đặt báo giá xung quanh nó, ví dụBảng cập nhật đặt x = nan
20426_2045020470_20476
20480_20527
Trong hầu hết kèo bóng đá c1 triển khai củaNot-A-NumberHồiKhái niệm,NAN
không được coi là bằng bất kỳ giá trị số nào khác (bao gồmNAN
). Để cho phép20872_20880
Giá trị được sắp xếp và sử dụng trong kèo bóng đá c1 chỉ mục dựa trên cây,PostgreSQLTreats20002_20007
Giá trị bằng nhau và lớn hơn tất cả không phải20087_20092
Giá trị.
kèo bóng đá c120057_20066
vàSố
tương đương. Cả hai kèo bóng đá c1 là một phần củaSQL20290_20202
Khi làm tròn kèo bóng đá c1 giá trị,Số
Nhập kèo bóng đá c1 vòng liên kết cách xa số không, trong khi (trên hầu hết kèo bóng đá c1 máy)20454_20460
vàDouble Precision
20502_20572
Chọn x,
22604_22620Real
vàĐộ kèo bóng đá c1 xác gấp đôi
là kèo bóng đá c1 số không chính xác, chính xác. Trong thực tế, kèo bóng đá c1 này thường được triển khai22825_2282022829_22024
22024_22425
22565_22652Số
Thay vào đó.
Nếu bạn muốn thực hiện các tính toán phức tạp với kèo bóng đá c1 này cho bất cứ điều gì quan trọng, đặc biệt nếu bạn dựa vào một số hành vi nhất định trong các trường hợp biên (vô cực, dòng chảy), bạn nên đánh giá cẩn thận việc thực hiện.
24029_24024
Trên hầu hết kèo bóng đá c1 nền tảng,24202_24209
kèo bóng đá c1 có phạm vi ít nhất 0e-27 đến 0e+27 với độ chính xác ít nhất 6 chữ số thập phân. TheDouble Precision
24262_24699
TheExtra_float_digitsCài đặt kiểm soát số lượng kèo bóng đá c1 chữ số có ý nghĩa thêm bao gồm khi giá trị điểm nổi được chuyển đổi thành văn bản cho đầu ra. Với giá trị mặc định của0
, đầu ra giống nhau trên mọi nền tảng được hỗ trợ bởi PostgreSQL. Tăng nó sẽ tạo ra đầu ra thể hiện kèo bóng đá c1 xác hơn giá trị được lưu trữ, nhưng có thể không thể tham dự.
Ngoài các giá trị số thông thường, kèo bóng đá c1 điểm nổi có một số giá trị đặc biệt:
Vô cực
-Infinity
NAN
25620_25676Vô cựcHồi, HồiVô cực tiêu cựcHồi25802_25820MạnhNot-A-NumberHồi25887_2602026050_26084
26089_26260
26220_2625526275_26280
26285_26458NAN
). Để cho phép kèo bóng đá c1 giá trị điểm nổi được sắp xếp và sử dụng trong kèo bóng đá c1 chỉ mục dựa trên cây,PostgreSQL26609_26629NAN
Giá trị bằng nhau và lớn hơn tất cả khôngNAN
Giá trị.
PostgreSQLCũng hỗ trợ kèo bóng đá c1 ký hiệu tiêu chuẩn SQLfloat
26880_26888float (
Để chỉ định kèo bóng đá c1 số không chính xác. Đây,P
)P
Chỉ định độ kèo bóng đá c1 xác có thể chấp nhận tối thiểu trong27024_27022chữ số.27077_2708927094_27205float (0)
27227_27242float (24)
Khi chọnReal
kèo bóng đá c1, trong khiFloat (25)
đếnFloat (52)
ChọnDouble Precision
. Giá trị củaP
27506_27560float
Không có độ kèo bóng đá c1 xác được chỉ định được thực hiện để có nghĩa làDouble Precision
.
Giả định rằngReal
vàDouble Precision
Có chính xác 24 và 52 bit trong Mantissa tương ứng là chính xác cho kèo bóng đá c1 triển khai điểm nổi theo tiêu chuẩn của IEEE. Trên kèo bóng đá c1 nền tảng không phải là người yêuP
được sử dụng trên tất cả kèo bóng đá c1 nền tảng.
Phần này mô tả một cách dành riêng cho PostgreSQL để tạo một cột tự động. Một cách khác là sử dụng tính năng cột nhận dạng tiêu chuẩn SQL, được mô tả tạiTạo bảng.
29246_29262SmallSerial
, nối tiếp
và29256_29267
29272_29486Auto_increment
thuộc tính được hỗ trợ bởi một số cơ sở dữ liệu khác). Trong triển khai hiện tại, chỉ định:
Tạo bảngTableName
(29754_29762
Sê -ri
tương đương với chỉ định:
29862_29882TableName
_colname
_seq as Integer;20040_20052
(colname
Số nguyên không phải là mặc định NEXTVAL (TableName
_colname
_seq )TableName
_colname
_SEQ thuộc sở hữu củaTableName
.20476_20485
;
Do đó, chúng tôi đã tạo một cột số nguyên và được sắp xếp cho kèo bóng đá c1 giá trị mặc định của nó được gán từ trình tạo chuỗi. MỘT20652_20662
Ràng buộc được áp dụng để đảm bảo rằng giá trị null không thể được chèn. (Trong hầu hết kèo bóng đá c1 trường hợp, bạn cũng muốn đính kèmđộc đáo
hoặcKhóa kèo bóng đá c1
ràng buộc để ngăn kèo bóng đá c1 giá trị trùng lặp được chèn vào tình cờ, nhưng điều này không phải là tự động.) Cuối cùng, trình tự được đánh dấu là20020_20022Được sở hữu bởi20056_2005920064_20040
vì20226_20249
, 20275_20282
và20202_20222
Được triển khai bằng cách sử dụng kèo bóng đá c1 chuỗi, có thể có "lỗ hổng" hoặc khoảng cách trong chuỗi kèo bóng đá c1 giá trị xuất hiện trong cột, ngay cả khi không có hàng nào bị xóa. Một giá trị được phân bổ từ chuỗi vẫn "được sử dụng" ngay cả khi một hàng chứa giá trị đó không bao giờ được chèn thành công vào cột bảng.nextVal ()
20728_20744Postgresql:Để biết chi tiết.
Để chèn giá trị tiếp theo của chuỗi vào20966_20974
20979_22007Nối tiếp
Cột phải được gán giá trị mặc định của nó. Điều này có thể được thực hiện bằng cách loại trừ cột khỏi danh sách kèo bóng đá c1 cột trongChèn
câu lệnh hoặc thông qua việc sử dụng22258_22267
Từ khóa.
tên kèo bóng đá c122228_22226
vàserial4
22279_2240022427_22426
22440_2246822485_22496
22500_22508serial8
22529_22587Bigint
22607_22628BigSerial
22660_2270920Định danh trong suốt vòng đời của bảng. Tên kèo bóng đá c1SmallSerial
22827_22824serial2
Cũng hoạt động theo cùng một cách, ngoại trừ việc chúng tạo ra mộtSmallInt
22950_22960
Trình tự được tạo cho A22006_22024
Cột được tự động bị rơi khi cột sở hữu bị rơi. Bạn có thể bỏ trình tự mà không bỏ cột, nhưng điều này sẽ buộc kèo bóng đá c1 bỏ biểu thức mặc định cột.