Hướng dẫn float in mysql create table - float trong mysql tạo bảng
Điều này đang hoạt động chính xác như dự định của Show Trong trường hợp này, giá trị 10 chữ số của 999.9999999, được làm tròn lên tới 1000.0000000. https://dev.mysql.com/doc/refman/8.0/en/floating-point-types.html nói:
Nói cách khác, bạn đã cho nó ràng buộc tối đa ở mức 1000.0000000, vì bạn đã bảo nó tối đa ở mức 10 chữ số, trong đó 7 chữ số ở bên phải điểm thập phân.
Nếu bạn muốn lưu trữ các giá trị lớn hơn, hãy khai báo Hoặc bạn có thể sử dụng Có một số cảnh báo về phao. Đó là một loại số không chính xác và nó sẽ có lỗi làm tròn. Điều này là không thể tránh khỏi vì cách thực hiện float và nó ảnh hưởng đến mọi ngôn ngữ lập trình. Đọc https://dev.mysql.com/doc/refman/8.0/en/probol Cũng xem tweet cũ của tôi về điều này: https://twitter.com/billkarwin/status/347561901460447232 B.3.4.8 & nbsp; Các vấn đề với các giá trị dấu phẩy động Số điểm nổi đôi khi gây ra sự nhầm lẫn vì chúng gần đúng và không được lưu trữ dưới dạng giá trị chính xác. Một giá trị điểm nổi như được viết trong câu lệnh SQL có thể không giống như giá trị được biểu thị bên trong. Nỗ lực xử lý các giá trị dấu phẩy động là chính xác trong so sánh có thể dẫn đến các vấn đề. Họ cũng phải tuân theo các phụ thuộc nền tảng hoặc thực hiện. Các loại dữ liệu 1 phải tuân theo các vấn đề này. Đối với các cột 2, MySQL thực hiện các hoạt động với độ chính xác là 65 chữ số thập phân, điều này sẽ giải quyết các vấn đề không chính xác phổ biến nhất.Ví dụ sau đây sử dụng 1 để chứng minh cách các tính toán được thực hiện bằng cách sử dụng các hoạt động dấu phẩy động phải tuân theo lỗi điểm nổi.
Kết quả là chính xác. Mặc dù năm bản ghi đầu tiên trông giống như chúng không được thỏa mãn so sánh (các giá trị của 4 và 5 dường như không khác nhau), nhưng chúng có thể làm như vậy vì sự khác biệt giữa các số hiển thị xung quanh thập phân thứ mười hoặc lâu hơn, tùy thuộc vào các yếu tố chẳng hạn như kiến trúc máy tính hoặc phiên bản trình biên dịch hoặc cấp độ tối ưu hóa. Ví dụ, các CPU khác nhau có thể đánh giá các số điểm nổi khác nhau.Nếu các cột 6 và 7 được xác định là 2 chứ không phải 1, kết quả của truy vấn 0 sẽ chỉ chứa một hàng, một hàng cuối cùng được hiển thị ở trên.Cách chính xác để thực hiện so sánh số điểm nổi là trước tiên quyết định khả năng chịu chấp nhận được cho sự khác biệt giữa các số và sau đó thực hiện so sánh với giá trị dung sai. Ví dụ: nếu chúng ta đồng ý rằng các số điểm nổi sẽ được coi là giống nhau nếu chúng giống nhau trong độ chính xác của một phần mười nghìn (0,0001), nên so sánh nên được ghi để tìm sự khác biệt lớn hơn giá trị dung sai:
Ngược lại, để có được các hàng trong đó các số giống nhau, bài kiểm tra sẽ tìm thấy sự khác biệt trong giá trị dung sai:
Các giá trị dấu phẩy động phải tuân theo các phụ thuộc nền tảng hoặc thực hiện. Giả sử rằng bạn thực hiện các câu sau:
Trên một số nền tảng, câu lệnh 0 trả về 2 và 3. Trên những người khác, nó trả về 4 và 5.Hàm ý của các vấn đề trước đó là nếu bạn cố gắng tạo bản sao bằng cách bỏ nội dung bảng với MySQLDump trên nguồn và tải lại tệp kết xuất vào bản sao, các bảng chứa các cột dấu phẩy động có thể khác nhau giữa hai máy chủ.mysqldump on the source and reloading the dump file into the replica, tables containing floating-point columns might differ between the two hosts. Làm cách nào để tạo một chiếc phao trong mysql?MySQL cho phép cú pháp không tiêu chuẩn: Float (M, D) hoặc Real (M, D) hoặc Double Precision (M, D). Ở đây, (m, d) có nghĩa là các giá trị có thể được lưu trữ với tổng số các chữ số m, trong đó các chữ số d có thể là sau điểm thập phân. Ví dụ, một cột được xác định là float (7,4) được hiển thị là -999.9999.FLOAT( M , D ) or REAL( M , D ) or DOUBLE PRECISION( M , D ) . Here, ( M , D ) means than values can be stored with up to M digits in total, of which D digits may be after the decimal point. For example, a column defined as FLOAT(7,4) is displayed as -999.9999 .
Làm thế nào để bạn tạo một bảng giá trị nổi trong SQL?Điều này hoạt động: Tạo phương tiện bàn (Xe_ID Int Not NULL, Xe, Khóa chính (xe_ID));
Làm thế nào để bạn đặt một chiếc phao trong SQL?Cú pháp.Float [(n)] trong đó n là số bit được sử dụng để lưu trữ mantissa của số float trong ký hiệu khoa học và do đó, chỉ ra kích thước độ chính xác và lưu trữ.Nếu N được chỉ định, nó phải là giá trị từ 1 đến 53. Giá trị mặc định của N là 53.float [ (n) ] Where n is the number of bits that are used to store the mantissa of the float number in scientific notation and, therefore, dictates the precision and storage size. If n is specified, it must be a value between 1 and 53. The default value of n is 53.
Phao có nghĩa là gì trong mysql?Float là một số điểm nổi chính xác duy nhất.MySQL sử dụng bốn byte để lưu trữ giá trị nổi.Double là một số điểm nổi chính xác gấp đôi.MySQL sử dụng tám byte để lưu trữ giá trị kép.MySQL coi Double là một từ đồng nghĩa với độ chính xác gấp đôi (tiện ích mở rộng không chuẩn).a single precision floating point number. MySQL uses four bytes to store a FLOAT value. DOUBLE is a double precision floating point number. MySQL uses eight bytes to store a DOUBLE value. MySQL treats DOUBLE as a synonym for DOUBLE PRECISION (a non-standard extension). |