Ngay từ sách hướng dẫn:
Các loại
decimal
vànumeric
là tương đương. Cả hai loại đều là một phần của tiêu chuẩn SQL.
Về phần "tại sao tôi cần sử dụng nó", điều này cũng được giải thích trong sách hướng dẫn:
Loại số có thể lưu trữ các số có số lượng chữ số rất lớn và thực hiện các phép tính một cách chính xác
(Nhấn mạnh của tôi).
Nếu bạn cần các số có số thập phân, hãy sử dụng decimal
(hoặc numeric
) nếu bạn cần các số không có số thập phân, hãy sử dụng integer
hoặc bigint
. Cách sử dụng decimal
điển hình như một loại cột sẽ là cột "giá sản phẩm" hoặc "lãi suất". Cách sử dụng điển hình của kiểu số nguyên sẽ là ví dụ:một cột lưu trữ số lượng bao nhiêu sản phẩm đã được đặt hàng (giả sử bạn không thể đặt hàng "một nửa" sản phẩm).
double
và real
cũng là các loại có thể lưu trữ các giá trị thập phân, nhưng chúng là gần đúng các loại. Điều này có nghĩa là bạn không nhất thiết phải truy xuất giá trị bạn đã lưu trữ. Chi tiết vui lòng xem tại:http://floating-point-gui.de/