Trong hướng dẫn này, bạn sẽ tìm hiểu về kiểu dữ liệu DECIMAL
trong SQL Server và cách sử dụng nó để lưu trữ các giá trị số thập phân.
Để lưu trữ các số có độ chính xác và tỷ lệ cố định, bạn sử dụng kiểu dữ liệu DECIMAL
.
Sau đây là cú pháp của kiểu dữ liệu DECIMAL
:
DECIMAL(p,s)
Trong cú pháp này:
Kích thước bộ nhớ tối đa khác nhau, tùy thuộc vào độ chính xác như được minh họa trong bảng sau:
Độ chính xác | Số byte lưu trữ |
---|---|
1 – 9 | 5 |
10-19 | 9 |
20-28 | 13 |
29-38 | 17 |
Và vì NUMERIC
là synonym của DECIMAL
, do đó, bạn có thể sử dụng chúng thay thế cho nhau.
Các khai báo sau là tương đương:
DECIMAL(10,2)
NUMERIC(10,2)
Bởi vì ISO synonym của DECIMAL
là DEC
và DEC(p,s)
, bạn có thể sử dụng một trong hai DECIMAL
hoặc DEC
:
DECIMAL(10,2)
DEC(10,2)
Hãy lấy một ví dụ về việc sử dụng kiểu dữ liệu DECIMAL
và NUMERIC
.
Đầu tiên, hãy tạo một bảng mới bao gồm hai cột: một cột DECIMAL
và một cột NUMERIC
như sau:
CREATE TABLE test.sql_server_decimal (
dec_col DECIMAL (4, 2),
num_col NUMERIC (4, 2)
);
Thứ hai, thêm một hàng mới vào bảng test.sql_server_decimal
:
INSERT INTO test.sql_server_decimal (dec_col, num_col)
VALUES
(10.05, 20.05);
Thứ ba, truy vấn dữ liệu từ bảng:
SELECT
dec_col,
num_col
FROM
test.sql_server_decimal;
Thứ tư, ví dụ sau cố gắng chèn một hàng mới vào bảng với các giá trị vượt quá độ chính xác và tỷ lệ được chỉ định trong định nghĩa cột:
INSERT INTO test.sql_server_decimal (dec_col, num_col)
VALUES
(99.999, 12.345);
SQL Server sẽ thông báo lỗi và dừng câu lệnh:
Arithmetic overflow error converting numeric to data type numeric.
The statement has been terminated
Trong hướng dẫn này, bạn đã học cách sử dụng kiểu dữ liệu DECIMAL
trong SQL Server để lưu trữ các giá trị số thập phân.
Bạn có thể vui lòng tắt trình chặn quảng cáo ❤️ để hỗ trợ chúng tôi duy trì hoạt động của trang web.
Trong hướng dẫn này, bạn sẽ tìm hiểu về GUID trong SQL Server và cách sử dụng hàm NEWID() để tạo giá trị GUID.
Trong hướng dẫn này, bạn sẽ học cách sử dụng kiểu dữ liệu DATETIMEOFFSET trong SQL Server để thao tác datetime với múi giờ.
Trong hướng dẫn này, bạn sẽ học cách lưu trữ thời gian trong ngày trong cơ sở dữ liệu bằng cách sử dụng kiểu dữ liệu TIME trong SQL Server.
Trong hướng dẫn này, bạn sẽ học cách sử dụng kiểu dữ liệu DATE trong SQL Server để lưu trữ dữ liệu ngày tháng trong một bảng.