Kiểu dữ liệu thập phân mysql
Tóm lược. trong hướng dẫn này, chúng tôi sẽ giới thiệu cho bạn kiểu dữ liệu DECIMAL của MySQL và cách sử dụng nó một cách hiệu quả trong bảng cơ sở dữ liệu của bạn Show Giới thiệu về kiểu dữ liệu DECIMAL của MySQLKiểu dữ liệu DECIMAL của MySQL được sử dụng để lưu trữ các giá trị số chính xác trong cơ sở dữ liệu. Chúng tôi thường sử dụng loại dữ liệu DECIMAL cho các cột bảo toàn độ chính xác e. g. , dữ liệu tiền trong hệ thống kế toán Để xác định một cột có kiểu dữ liệu là DECIMAL bạn sử dụng cú pháp sau
Trong cú pháp trên
2 có nghĩa là cột có thể lưu trữ tối đa P chữ số với D số thập phân. Phạm vi thực tế của cột thập phân phụ thuộc vào độ chính xác và tỷ lệ Bên cạnh từ khóa 3, bạn cũng có thể sử dụng 4, 5 hoặc 6 vì chúng là từ đồng nghĩa với 3 Giống như loại dữ liệu INT, loại 3 cũng có các thuộc tính 9 và 0. Nếu chúng ta sử dụng thuộc tính 9, cột có giá trị 2 sẽ không chấp nhận giá trị âm Trong trường hợp chúng tôi sử dụng 0, MySQL sẽ đệm giá trị hiển thị bằng 0 cho đến chiều rộng hiển thị được chỉ định bởi định nghĩa cột. Ngoài ra, nếu chúng ta sử dụng 4 cho cột 3, MySQL sẽ tự động thêm thuộc tính 9 vào cột Ví dụ sau định nghĩa cột số tiền với kiểu dữ liệu 3
Trong ví dụ này, cột số tiền có thể lưu trữ 6 chữ số với 2 chữ số thập phân; . 99 đến -9999. 99 MySQL cho phép chúng tôi sử dụng cú pháp sau
Điều này tương đương với 9 Trong trường hợp này, cột không chứa phần phân số hoặc dấu thập phân Ngoài ra, chúng ta thậm chí có thể sử dụng cú pháp sau 0 Giá trị mặc định của P là 10 trong trường hợp này Lưu trữ DECIMAL của MySQLMySQL chỉ định lưu trữ riêng biệt cho các phần nguyên và phân số. MySQL sử dụng định dạng nhị phân để lưu trữ các giá trị 3. Nó gói 9 chữ số thành 4 byte Đối với mỗi phần, phải mất 4 byte để lưu trữ từng bội số của 9 chữ số. Dung lượng lưu trữ cần thiết cho các chữ số còn lại được minh họa trong bảng sau Chữ số còn lạiBytes001–213–425–637–94Ví dụ: 9 có 9 chữ số cho phần phân số và 19-9 = 10 chữ số cho phần nguyên. Phần phân số yêu cầu 4 byte. Phần nguyên cần 4 byte cho 9 chữ số đầu, 1 chữ số còn lại cần thêm 1 byte. Tổng cộng, cột 9 yêu cầu 9 byte Kiểu dữ liệu DECIMAL của MySQL và dữ liệu tiền tệChúng tôi thường sử dụng loại dữ liệu 3 cho dữ liệu tiền tệ như giá cả, tiền lương, số dư tài khoản, v.v. Nếu bạn thiết kế cơ sở dữ liệu xử lý dữ liệu tiền tệ, cú pháp sau sẽ ổn 5 Tuy nhiên, nếu bạn muốn tuân thủ các quy tắc Nguyên tắc kế toán được chấp nhận chung (GAAP), cột tiền tệ phải có ít nhất 4 chữ số thập phân để đảm bảo rằng giá trị làm tròn không vượt quá $0. 01. Trong trường hợp này, bạn nên xác định cột có 4 chữ số thập phân như sau 6 Ví dụ về kiểu dữ liệu DECIMAL của MySQLĐầu tiên, tạo một bảng mới có tên là 92 với ba cột. id, mô tả và chi phí 8 Thứ hai, chèn dữ liệu vào bảng 92 0 Thứ ba, truy vấn dữ liệu từ bảng 92 2 Thứ tư, thay đổi cột chi phí để bao gồm thuộc tính 0 0 Thứ năm, truy vấn lại bảng vật liệu 2 Như bạn thấy, chúng tôi có nhiều số 0 được đệm trong các giá trị đầu ra. Trong hướng dẫn này, chúng tôi đã trình bày cung cấp cho bạn thông tin chi tiết về kiểu dữ liệu DECIMAL của MySQL và chỉ cho bạn cách áp dụng nó cho các cột lưu trữ dữ liệu số chính xác, chẳng hạn như dữ liệu tài chính |