Kiểu dữ liệu Decimal trong SQL Server

Hiểu được kiểu dữ liệu trong quản trị cơ sở dữ liệu SQL sẽ giúp bạn dễ dàng, nhanh chóng làm chủ chúng trong quá trình sử dụng hoặc truy vấn. Đặc biệt kiểu dữ liệu decimal trong SQL thường xuyên được dùng phổ biến và rất hữu ích. Vậy thì decimal in sql server là gì? Cùng Comdy.vn tìm hiểu trong bài viết này nhé.

Kiểu dữ liệu decimal trong SQL Server – Decimal trong SQL là gì?

Kiểu dữ liệu decimal trong SQL
Tìm hiểu về kiểu dữ liệu decimal trong SQL Server

Kiểu dữ liệu Decimal là gì?

Decimal sql là gì? Thông thường, để 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 sql.

Sau đây là cú pháp của kiểu dữ liệu decimal sql server:

DECIMAL(p,s)

Với cú pháp kiểu decimal trong sql trên thì:

  • p là độ chính xác là tổng số chữ số thập phân tối đa sẽ được lưu trữ, cả ở bên trái và bên phải của dấu thập phân. Độ chính xác có phạm vi từ 1 đến 38. Độ chính xác mặc định là 38.
  • s là tỷ lệ là số chữ số thập phân sẽ được lưu trữ ở bên phải của dấu thập phân. Thang đo có phạm vi từ 0 đến p (độ chính xác). Chỉ có thể chỉ định thang đo nếu độ chính xác được chỉ định. Theo mặc định, tỷ lệ bằng không.

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 sql decimal hoặc DEC:

DECIMAL(10,2)
DEC(10,2)

Decimal là kiểu dữ liệu gì trong SQL?

Decimal là kiểu dữ liệu gì trong SQL
Decimal là một kiểu dữ liệu số thập phân có độ chính xác cố định

Trong SQL, decimal là một kiểu dữ liệu số thập phân có độ chính xác cố định. Kiểu dữ liệu này thường được sử dụng khi bạn cần giữ chính xác số chữ số thập phân và tránh sự mất mát chính xác có thể xảy ra với kiểu dữ liệu khác như float hoặc double.

Decimal(10 2) là gì?

Decimal(10,2) có thể lưu trữ các giá trị số với tối đa 10 chữ số tổng cộng, trong đó lấy 2 số sau dấu phẩy trong sql. Ví dụ, giá trị 12345.67 sẽ là một giá trị hợp lệ cho kiểu dữ liệu này.

Tương tự với decimal(18,2): Decimal(18,2) lưu trữ các giá trị số với tối đa 18 chữ số tổng cộng, trong đó có 2 chữ số sau dấu thập phân

Ví dụ về kiểu dữ liệu decimal in SQL server

Ví dụ về kiểu dữ liệu decimal in SQL server
Ví dụ bài toán cụ thể về kiểu dữ liệu decimal in SQL server

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 sql server decimal và một cột sql server 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 in mssql:

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.

Kiểu dữ liệu numeric trong SQL là gì?

Kiểu dữ liệu numeric trong SQL là gì
Trong SQL, numeric là một kiểu dữ liệu số dùng để lưu trữ các giá trị số chính xác với độ chính xác cố định

Trong SQL, numeric là một kiểu dữ liệu số dùng để lưu trữ các giá trị số chính xác với độ chính xác cố định. Numeric và decimal thường được sử dụng thay thế cho nhau. Và thực tế, ở nhiều hệ quản lý cơ sở dữ liệu, hai kiểu này có thể được coi là đồng nghĩa.

Cú pháp: NUMERIC(precision, scale)

Trong đó:

  • precision là tổng số chữ số trong số, bao gồm cả số nguyên và số thập phân.
  • scale là số chữ số thập phân sau dấu thập phân.

Ví dụ: NUMERIC(10, 2)

Kiểu dữ liệu money trong SQL là gì?

Kiểu dữ liệu money trong SQL là gì
Kiểu dữ liệu money trong SQL được thiết kế để lưu trữ số liệu tài chính, chẳng hạn như giá cả, lợi nhuận

Kiểu dữ liệu money được sử dụng trong SQL để lưu trữ giá trị tiền tệ. Kiểu dữ liệu này được thiết kế để lưu trữ số liệu tài chính, chẳng hạn như giá cả, lợi nhuận, hoặc các giá trị liên quan đến tiền tệ khác.

Ví dụ:

CREATE TABLE FinancialData (
    ID INT PRIMARY KEY,
    Amount MONEY
);

INSERT INTO FinancialData (ID, Amount) VALUES (1, 100.50);

Lưu ý: Giá trị của kiểu dữ liệu money có độ chính xác cố định và được lưu trữ dưới dạng số nguyên. Nó đại diện cho số lượng tiền tệ trong đơn vị tiền tệ của hệ thống.

Trong một số hệ quản lý cơ sở dữ liệu, money có thể đi kèm với giới hạn về phạm vi giá trị. Do vậy khi làm việc với số lớn hoặc số nhỏ với độ chính xác cao, có thể cần sử dụng kiểu dữ liệu decimal hoặc numeric.

Kết lại

Trên đây là toàn bộ chia sẻ của Comdy.vn về kiểu dữ liệu decimal trong sql. Hi vọng những thông tin, kiến thức hữu ích trong bài viết này của chúng tôi sẽ giúp bạn giải quyết hiệu quả các chương trình, bài toàn cơ sở dữ liệu. Xin cám ơn vì đã theo dõi và ủng hộ.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *