Phiên bản được hỗ trợ:hiện tại(07)06 / 05 / 04 / 02
Phiên bản phát triển:08 / Devel
Phiên bản không được hỗ trợ:02 / 00 / 00 / 9.6 / 9.5 / 9.4 / 9.2 / 9.2 / 9.0 / 9.0 / 8.4 / 8.2 / 8.2
8464_8525
Bạn có thể muốn xem cùng một trang chohiện tại8690_8770

8.0. kèo bóng đá c1 số

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

8.0.0. kèo bóng đá c1 số nguyên

kèo bóng đá c1SmallInt, 04762_04772Bigint04805_04984

kèo bóng đá c1Số nguyênlà 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_0506805072_05229Bigint05269_0522205229_05248kèo bóng đá c1 không đủ.

05402_05407Chỉ chỉ định kèo bóng đá c1 số nguyênSố nguyên(hoặc05506_05520),05548_0555805562_05570Bigint. Tên kèo bóng đá c1INT2, INT405680_05688INT8là 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

8.0.2. Số kèo bóng đá c1 xác tùy ý

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_06660Giá 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_0690006905_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ác07848_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_08228kè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.

ghi chú

08604_0870508722_0872008726_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 (n)hơnchar (n09672_09676.) 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.

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_20206mang 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 = nan20426_2045020470_2047620480_20527

20577_20582

Trong hầu hết kèo bóng đá c1 triển khai củaNot-A-NumberHồiKhái niệm,NANkhông được coi là bằng bất kỳ giá trị số nào khác (bao gồmNAN). Để cho phép20872_20880Giá 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_20007Giá trị bằng nhau và lớn hơn tất cả không phải20087_20092Giá trị.

kèo bóng đá c120057_20066Số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_20460Double Precision20502_20572

Chọn x,

8.0.2. kèo bóng đá c1 điểm nổi

22604_22620RealĐộ kèo bóng đá c1 xác gấp đôilà 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_24209kè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 Precision24262_24699

Lưu ý

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_2608426089_26260

Lưu ý

26220_2625526275_2628026285_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_26629NANGiá trị bằng nhau và lớn hơn tất cả khôngNANGiá trị.

PostgreSQLCũng hỗ trợ kèo bóng đá c1 ký hiệu tiêu chuẩn SQLfloat26880_26888float (P)Để chỉ định kèo bóng đá c1 số không chính xác. Đây,PChỉ đị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ọnRealkèo bóng đá c1, trong khiFloat (25)đếnFloat (52)ChọnDouble Precision. Giá trị củaP27506_27560floatKhông có độ kèo bóng đá c1 xác được chỉ định được thực hiện để có nghĩa làDouble Precision.

Lưu ý

Giả định rằngRealDouble PrecisionCó 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.

28270_28297

Lưu ý

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ếp29256_2926729272_29486Auto_incrementthuộ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_29762Sê -ri

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

29862_29882TableName_colname_seq as Integer;20040_20052(colnameSố 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_20662Rà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 đáohoặcKhóa kèo bóng đá c1rà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

Lưu ý

20226_20249, 20275_2028220202_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_2097420979_22007Nối tiếpCộ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èncâu lệnh hoặc thông qua việc sử dụng22258_22267Từ khóa.

tên kèo bóng đá c122228_22226serial422279_2240022427_2242622440_2246822485_2249622500_22508serial822529_22587Bigint22607_22628BigSerial22660_2270920Định danh trong suốt vòng đời của bảng. Tên kèo bóng đá c1SmallSerial22827_22824serial2Cũng hoạt động theo cùng một cách, ngoại trừ việc chúng tạo ra mộtSmallInt22950_22960

Trình tự được tạo cho A22006_22024Cộ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.