SQL Server DECIMAL: Mọi thứ bạn cần biết – máy chủ sql kiểu thập phân

Kiểu dữ liệu SQL Server DECIMAL là kiểu dữ liệu rất phổ biến mà bạn sẽ thấy và sử dụng trong sự nghiệp của mình với tư cách là một chuyên gia cơ sở dữ liệu.

Bạn đang xem : kiểu thập phân của máy chủ sql

Thời gian đọc :

7

phút

Dữ liệu SQL Server DECIMAL type là một kiểu dữ liệu rất phổ biến mà bạn sẽ thấy và sử dụng trong sự nghiệp của mình với tư cách là một chuyên gia cơ sở dữ liệu. Điều quan trọng là bạn phải biết cách thức hoạt động và các quy tắc thiết lập.

Tất nhiên, DECIMAL là lý tưởng khi bạn cần lưu trữ một số với các chữ số thập phân. SQL Server cung cấp cho bạn khả năng chỉ định số lượng chữ số thập phân nên được lưu trữ cho số của bạn. Điều này cho phép bạn kiểm soát lượng dung lượng bộ nhớ mà số của bạn chiếm.

Bạn có cần biết cách hoạt động của kiểu dữ liệu SQL Server

DECIMAL

không? Bạn đã đến đúng nơi!

Loại dữ liệu DECIMAL được nêu trong hướng dẫn MIỄN PHÍ sau:

Bạn chắc chắn nên tải xuống hướng dẫn này nếu bạn cần tìm hiểu về các kiểu dữ liệu rất phổ biến khác mà bạn sẽ gặp khi là chuyên gia cơ sở dữ liệu. Hướng dẫn này sẽ là nguồn tư liệu tuyệt vời để bạn tham khảo trong quá trình tác nghiệp. Tải xuống ngay hôm nay!

Chúng ta sẽ thảo luận các chủ đề sau về kiểu dữ liệu DECIMAL của SQL Server:

  1. Ví dụ về việc sử dụng kiểu dữ liệu SQL Server

    DECIMAL

  2. “Độ chính xác” của giá trị

    DECIMAL

  3. “Quy mô” của giá trị

    DECIMAL

  4. Yêu cầu lưu trữ đối với giá trị

    DECIMAL

  5. Mẹo, thủ thuật và liên kết

Hãy bắt đầu từ chủ đề 1.00 🙂

1. Ví dụ về việc sử dụng kiểu dữ liệu SQL Server

DECIMAL

Hãy tạo một bảng đơn giản có tên là Sách , bảng này sẽ có cột DECIMAL để lưu trữ Giá của một cuốn sách:

 TẠO BẢNG Sách
(
BookID INT PRIMARY KEY IDENTITY,
Tiêu đề VARCHAR (50),
Tác giả VARCHAR (20),
Giá DECIMAL (5,2)
) 

Cú pháp của DECIMAL là: DECIMAL (p, s)

p ” là viết tắt của “Precision”. Đây là tổng số chữ số chúng tôi có thể lưu trữ, cả từ bên trái và bên phải của dấu thập phân.

s ” là viết tắt của “Quy mô”. Đây là số chữ số chúng ta có thể lưu trữ ở bên phải dấu thập phân.

Nếu bạn nghĩ về điều này, số chữ số chúng tôi có thể lưu trữ ở bên trái của số thập phân sẽ là p – s . Vì vậy, trong ví dụ của chúng tôi, chúng tôi có thể lưu trữ tối đa 3 chữ số ở bên trái của số thập phân khi lưu trữ Giá của một cuốn sách.

Vì vậy, hãy nghĩ về các loại số mà chúng ta có thể lưu trữ trong cột DECIMAL của SQL Server này.

Ví dụ về các số mà chúng tôi có thể lưu trữ

Câu lệnh INSERT này có hoạt động không ?: CHÈN VÀO GIÁ TRỊ Sách ('As a man thinketh', 'Allen', 14,95)

Đúng . Chỉ có 2 chữ số ở bên trái của số thập phân. Hãy nhớ trước đó, chúng tôi đã nói rằng chúng tôi có thể có tối đa 3 . Và chúng tôi có 2 chữ số ở bên phải của số thập phân, đáp ứng yêu cầu về tỷ lệ.

Thế còn cái này thì sao ?: CHÈN VÀO GIÁ TRỊ Sách ('Ăn con ếch đó!', 'Tracy', 12.449999)

Câu trả lời cũng là có, chúng tôi có thể .

Đây là nội dung về các số ở bên phải của chữ số thập phân: Nếu có nhiều chữ số được chỉ định hơn số được phép theo “ s ”, các chữ số thừa đó sẽ bị xóa và số sẽ được làm tròn chính xác đến vị trí thập phân “ s ” gần nhất.

Sau khi chạy câu lệnh INSERT đó, đây là hàng trông như thế nào:

máy chủ sql làm tròn số thập phân số thập phân

Vì vậy, số 12.449999 rõ ràng có nhiều hơn 2 chữ số sau phần thập phân, đây là tất cả kiểu dữ liệu của chúng tôi được phép lưu trữ. Do đó, khi SQL lưu trữ số đó, nó sẽ làm tròn số thập phân thành chữ số thứ 2 và cắt bỏ mọi thứ sau đó.

Trong SQL talk, đây là điều được gọi là chuyển đổi ngầm định. Chúng tôi thực sự đang chuyển đổi một số có độ chính xác và tỷ lệ cao hơn thành một số có độ chính xác và tỷ lệ thấp hơn. SQL Server sử dụng làm tròn trong trường hợp đó.

Số 12.449999 dường như là loại dữ liệu DECIMAL (8,6). Loại dữ liệu của cột của chúng tôi chỉ là DECIMAL (5,2) , tất nhiên, có độ chính xác và tỷ lệ thấp hơn. Do đó, SQL Server sử dụng làm tròn cho các vị trí thập phân.

Cuối cùng, chúng ta có thể lưu trữ giá trị này không ?: CHÈN VÀO GIÁ TRỊ Sách ('T-SQL Fundamentals', 'Ghan', 109.449999)

Vâng , tất cả đều tốt! Chúng tôi có số chữ số tối đa được phép ở bên trái của số thập phân ( 3 ) và các chữ số ở bên phải sẽ được làm tròn.

Ví dụ về tiền thưởng:

Còn phụ trang này thì sao ?: CHÈN VÀO GIÁ TRỊ Sách ('The Book of Law', 'Carter', 2500,89)

Không . Chúng tôi nhận được thông báo lỗi:

lỗi thập phân máy chủ sql

Khi nói đến các chữ số ở bên trái của chữ số thập phân, toàn bộ ý tưởng về “làm tròn” sẽ xuất hiện trong cửa sổ. Có một giới hạn nghiêm ngặt đối với số chữ số được phép ở bên trái của số thập phân và SQL Server sẽ không làm tròn bất kỳ thứ gì nếu bạn vượt quá giới hạn đó.

Trong trường hợp của chúng tôi, số chữ số được phép ở phía bên trái của dấu thập phân là 3 , nhớ không? Vì vậy, tôi không được phép lưu trữ một số có 4 chữ số (hoặc nhiều hơn) ở bên trái của số thập phân.

Cuối cùng, còn ví dụ này thì sao ?: CHÈN VÀO GIÁ TRỊ Sách ('American Fire', 'Hesse', 24)

Chúng tôi không chỉ định bất kỳ vị trí thập phân nào, vậy nó có hoạt động không?

Đúng . SQL Server chỉ cần chuyển đổi giá trị đó thành 24,00 , đáp ứng số chữ số ở bên phải của số thập phân (còn gọi là “scale”):

số nguyên thập phân của máy chủ sql

2. “Độ chính xác” của giá trị DECIMAL

Hãy nói thêm một chút về giá trị “ p ”. Như chúng ta đã biết, “p” đại diện cho tổng số chữ số có thể được lưu trữ, cả ở bên trái và bên phải của vị trí thập phân.

Số cao nhất mà “p” có thể là 38 . Nhắc lại, điều này có nghĩa là tổng số chữ số bạn có thể lưu trữ bằng kiểu dữ liệu DECIMAL là 38 chữ số.

Giá trị tối thiểu mà “p” có thể là 1 .

3. “Quy mô” của giá trị DECIMAL

Như chúng ta đã biết, “ s ” đại diện cho số chữ số chúng ta có thể lưu trữ ở bên phải dấu thập phân.

Giá trị “s” có thể là bất kỳ giá trị nào từ 0 đến “p” .

Hãy suy nghĩ về điều đó một phút. Bạn có thể có loại DECIMAL là DECIMAL (5, 7) không?

Chà, điều đó nói rằng chúng ta có thể có tổng cộng 5 chữ số, với 7 trong số đó ở bên phải chữ số thập phân…

tỷ lệ thập phân của máy chủ sql không chính xác

Mọi người, điều đó không có ý nghĩa gì.

Tuy nhiên, chúng tôi chắc chắn có thể có DECIMAL (5,5) , phải không? Điều đó có nghĩa là chúng tôi có tổng số 5 chữ số và tất cả chúng đều ở bên phải chữ số thập phân.

Tốt thôi! Chúng tôi sẽ không bao giờ có thể lưu trữ một số lớn hơn .99999 . Có lẽ đó là những gì chúng tôi muốn!

4. Yêu cầu lưu trữ đối với giá trị DECIMAL

Dung lượng bộ nhớ mà các giá trị DECIMAL của bạn sẽ sử dụng tùy thuộc vào giá trị “ p ”. Đây là bảng phân tích:

 Yêu cầu lưu trữ chính xác
1-9 5 byte
10-19 9 byte
20-28 13 byte
29-38 17 byte

Đây là một trong những điều thú vị về kiểu dữ liệu DECIMAL. Về cơ bản, bạn có thể sử dụng độ chính xác nhỏ nhất mà bạn nghĩ rằng bạn sẽ cần để lưu trữ dữ liệu của mình. Độ chính xác càng nhỏ thì không gian cần thiết để lưu trữ dữ liệu càng nhỏ.

Ví dụ: nếu bạn biết không có cuốn sách nào của mình có giá trên $ 999 và bạn không muốn thấy nhiều hơn 2 chữ số thập phân, bạn nên chọn DECIMAL (5,2) kiểu dữ liệu. Đó là không quá 3 chữ số ở bên trái của số thập phân và không quá 2 ở bên phải. Tất cả các giá trị trong cột đó sẽ chỉ sử dụng 5 byte bộ nhớ.

Nếu ai đó không hiểu kiểu dữ liệu DECIMAL , họ có thể chỉ thiết lập kiểu dữ liệu đó là DECIMAL (30,10) bởi vì “thật tệ, luôn tốt hơn nếu có nhiều không gian hơn ít hơn không gian, phải không? “.

KHÔNG . Giá trị của bạn sẽ sử dụng nhiều hơn 3X dung lượng bộ nhớ bạn thực sự cần. Tốt.

Bạn có thấy tại sao điều quan trọng là phải biết một hoặc hai điều về các loại dữ liệu?

5. Mẹo, thủ thuật và liên kết

Dưới đây là danh sách các mẹo và thủ thuật bạn nên biết về kiểu dữ liệu DECIMAL của SQL Server:

Mẹo số 1: Độ chính xác và tỷ lệ mặc định là (18,0)

Có thể loại bỏ hoàn toàn các giá trị “ p ” và “ s ” và chỉ cần nói điều gì đó như:

 KHAI BÁO @bookPrice DECIMAL 

Độ chính xác và tỷ lệ mặc định của biến @bookPrice mới của chúng tôi sẽ là (18,0) .

Đó là tổng số 18 chữ số, không có chữ số nào ở bên phải số thập phân .

Nói cách khác, chúng ta chỉ có thể lưu trữ một số nguyên có 18 chữ số.

Nếu muốn làm điều đó, bạn có thể chỉ sử dụng kiểu dữ liệu số nguyên thông thường như INT hoặc BIGINT.

Tôi nghĩ rằng việc chỉ định chính xác độ chính xác và tỷ lệ bạn muốn sẽ phổ biến hơn nhiều so với chỉ định theo mặc định.

Mẹo số 2: Bạn chỉ có thể chỉ định một giá trị “p”

Điều này hoạt động tốt:

 KHAI BÁO @bookPrice DECIMAL (5) 

Một lần nữa, trong biến @bookPrice này, chúng tôi đã chỉ định rằng chúng tôi muốn lưu trữ một số có tổng cộng 5 chữ số , với không có chữ số nào > ở bên phải chữ số thập phân.

Về cơ bản, một số nguyên có 5 chữ số lớn.

Mẹo số 3: Chỉ có thể chỉ định giá trị “s” nếu “p” cũng được chỉ định

Từ điểm cuối cùng của chúng tôi, bạn hiểu rằng nếu một số duy nhất được chỉ định trong dấu ngoặc đơn, SQL Server sẽ diễn giải đó là giá trị “ p ” mà bạn muốn sử dụng. Không có cách nào để chỉ định giá trị “ s ” và không có giá trị “ p ”.

Cách duy nhất bạn có thể chỉ định giá trị “s” là nếu giá trị “p” cũng được chỉ định.

Mẹo số 4:

QUYẾT ĐỊNH

CON SỐ

giống nhau

Không có nhiều điều để nói về mẹo này, thực sự. Chúng là từ đồng nghĩa trong SQL Server và có thể được sử dụng thay thế cho nhau. Xem toàn bộ hướng dẫn của tôi về DECIMAL vs NUMERIC .

Liên kết

Đây là liên kết đến tài liệu chính thức của Microsoft về kiểu dữ liệu thập phân và số: thập phân và số (Transact-SQL)

Các bước tiếp theo:

Để lại nhận xét nếu bạn thấy hướng dẫn này hữu ích!

Để trở thành loại dữ liệu MASTER , bạn nên tải xuống Hướng dẫn 1 trang MIỄN PHÍ sau đây:

Hướng dẫn này là một cuộc thảo luận về các loại dữ liệu phổ biến nhất mà bạn sẽ thấy trong sự nghiệp của mình với tư cách là một chuyên gia cơ sở dữ liệu. Đó chắc chắn sẽ là nguồn tư liệu tuyệt vời để bạn tham khảo trong suốt quá trình làm nghề của mình. Bạn sẽ không hối hận khi biết những loại dữ liệu này, hãy tin tôi. Tải xuống ngay hôm nay!

Tôi cũng có một hướng dẫn cụ thể về các kiểu dữ liệu số nguyên khác nhau mà chúng tôi có sẵn trong SQL Server. Chắc chắn hãy kiểm tra điều đó:

Kiểu dữ liệu số nguyên trong SQL – Mọi thứ bạn cần biết

Bạn có biết sự khác biệt

CHAR

VARCHAR

không? Còn về

CHAR

NCHAR

?

Cảm ơn bạn đã đọc!

Đảm bảo rằng bạn đăng ký nhận bản tin của tôi

Cảm ơn bạn đã đọc! Nếu bạn có bất kỳ câu hỏi nào hoặc nếu bạn đang gặp khó khăn với một chủ đề khác liên quan đến SQL Server, tôi rất vui được thảo luận. Để lại nhận xét hoặc truy cập trang liên hệ của tôi và gửi email cho tôi!


Xem thêm những thông tin liên quan đến chủ đề máy chủ sql kiểu thập phân

How to use the TimeStamp data type in SQL Server (part 1 of 2)

alt

  • Tác giả: Software Nuggets
  • Ngày đăng: 2020-12-24
  • Đánh giá: 4 ⭐ ( 9817 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: I will show you how to create a table that uses a TimeStamp data type. I show you what will happen after an insert statement is executed.

    I show you that the TimeStamp have is stored in HEX, and I show you the SQL to convert HEX to decimal.

    ——————————————————*****————————————————————
    Hey Team,

    I would appreciate if you could leave a message for other students to read, a thumbs up if you learned something new and enjoyed the video, and please consider subscribing to this channel. Thank you in advance for your consideration.

    Let’s help each other!
    ——————————————————*****————————————————————

    Next, I show you that the update statement also changes the timestamp value. (automatically)

    Timestamp changes it value only on Insert/Update commands.
    Lastly, I show you that, I am unable to update the timestamp value manually.

    softwareNuggets, sqlServer, sqlServer2019, sqlDataTypes, timeStamp

Các kiểu dữ liệu trong SQL Server

  • Tác giả: quantrimang.com
  • Đánh giá: 3 ⭐ ( 3838 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Dưới đây là các kiểu dữ liệu (loại dữ liệu) trong SQL Server, gồm chuỗi kí tự, số và thời gian/ngày tháng.

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

  • Tác giả: comdy.vn
  • Đánh giá: 4 ⭐ ( 9798 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: 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.

Cách để Tạo cơ sở dữ liệu máy chủ SQL

  • Tác giả: www.wikihow.vn
  • Đánh giá: 3 ⭐ ( 1488 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cách để Tạo cơ sở dữ liệu máy chủ SQL. Cơ sở dữ liệu máy chủ SQL là một trong những cơ sở dữ liệu phổ biến nhất hiện nay, một phần là bởi cơ sở dữ liệu này rất dễ khởi tạo và duy trì. Với chương trình giao diện đồ họa người dùng (GUI) như…

Các Kiểu Dữ Liệu Trong SQL Server Là Gì? Gồm Những Loại Nào

  • Tác giả: zhost.vn
  • Đánh giá: 3 ⭐ ( 7565 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Biết kiểu dữ liệu của SQL giúp bạn dễ dàng làm chủ chúng trong quá trình truy vấn hay sử dụng. Chia sẻ sau sẽ mang đến cho bạn thông tin hữu ích về các kiểu dữ liệu trong SQL.

Kiểu dữ liệu trong SQL

  • Tác giả: blog.kenhtinhoc.vn
  • Đánh giá: 4 ⭐ ( 2376 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Sự khác biệt giữa kiểu dữ liệu Float và Decimal trong Sql là gì?

  • Tác giả: vi.helpr.me
  • Đánh giá: 4 ⭐ ( 6207 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Tìm hiểu cách tạo lớp học trong Java - tạo một lớp trong java