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

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

Trong hướng dẫn này, bạn sẽ tìm hiểu về các kiểu dữ liệu trong SQL Server bao gồm số, chuỗi ký tự, chuỗi nhị phân, ngày & giờ và các kiểu dữ liệu khác.

Tổng quan các kiểu dữ liệu trong SQL Server

Trong SQL Server, cột, biến và tham số giữ một giá trị được liên kết với một kiểu hoặc còn được gọi là kiểu dữ liệu. Kiểu dữ liệu là một thuộc tính chỉ định kiểu dữ liệu mà các đối tượng này có thể lưu trữ. Nó có thể là một số nguyên, chuỗi ký tự, tiền tệ, ngày và giờ, v.v.

SQL Server cung cấp danh sách các kiểu dữ liệu định nghĩa tất cả các kiểu dữ liệu mà bạn có thể sử dụng, ví dụ: khai báo một cột hoặc khai báo một biến.

Hình ảnh sau đây minh họa hệ thống kiểu dữ liệu SQL Server:

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

Lưu ý rằng SQL Server sẽ loại bỏ các kiểu dữ liệu ntext , văn bảnhình ảnh trong phiên bản tương lai của nó. Do đó, bạn nên tránh sử dụng các kiểu dữ liệu này và thay vào đó hãy sử dụng các kiểu dữ liệu nvarchar (max) , varchar (max)varbinary (max) .

Kiểu dữ liệu số nguyên

Kiểu dữ liệu số lưu trữ các số như số nguyên, số thập phân hoặc số tiền.

  • Bit lưu trữ một trong ba giá trị 0, 1 và NULL
  • Các kiểu dữ liệu int, bigint, smallint và tinyint lưu trữ dữ liệu số nguyên.
  • Kiểu dữ liệu decimal và numeric lưu trữ các số có độ chính xác và tỷ lệ cố định. Lưu ý rằng decimal và numeric là các synonym.
  • Kiểu dữ liệu money và smallmoney lưu trữ các giá trị tiền tệ.

Bảng sau minh họa các đặc điểm của kiểu dữ liệu số chính xác:

Kiểu dữ liệu Giới hạn dưới Giới hạn trên Bộ nhớ
bigint −2^63 (−9,223,372, 036,854,775,808) 2^63−1 (−9,223,372, 036,854,775,807) 8 bytes
int −2^31 (−2,147, 483,648) 2^31−1 (−2,147, 483,647) 4 bytes
smallint −2^15 (−32,767) 2^15 (−32,768) 2 bytes
tinyint 0 255 1 byte
bit 0 1 1 byte/8bit column
decimal −10^38+1 10^381−1 5 to 17 bytes
numeric −10^38+1 10^381−1 5 to 17 bytes
money −922,337, 203, 685,477.5808 +922,337, 203, 685,477.5807 8 bytes
smallmoney −214,478.3648 +214,478.3647 4 bytes

Kiểu dữ liệu số thực

Kiểu dữ liệu số thực lưu trữ dữ liệu số dấu phẩy động. Chúng thường được sử dụng trong các tính toán khoa học.

Kiểu dữ liệu Giới hạn dưới Giới hạn trên Bộ nhớ Độ chính xác
float(n) −1.79E+308 1.79E+308 Depends on the value of n 7 Digit
real −3.40E+38 3.40E+38 4 bytes 15 Digit

Kiểu dữ liệu Ngày & Giờ

Các kiểu dữ liệu ngày và giờ lưu trữ dữ liệu ngày và dữ liệu giờ cũng như độ lệch ngày giờ.

Kiểu dữ liệu Kích thước lưu trữ Sự chính xác Giới hạn dưới Giới hạn trên
datetime 8 bytes Được làm tròn đến .000, .003, .007 1753-01-01 9999-12-31
smalldatetime 4 bytes, cố định 1 minute 1900-01-01 2079-06-06
date 3 bytes, cố định 1 day 0001-01-01 9999-12-31
time 5 bytes 100 nanoseconds 00:00:00.0000000 23:59:59.9999999
datetimeoffset 10 bytes 100 nanoseconds 0001-01-01 9999-12-31
datetime2 6 bytes 100 nanoseconds 0001-01-01 9999-12-31

Nếu bạn phát triển một ứng dụng mới, bạn nên sử dụng các kiểu dữ liệu time, date, datetime2datetimeoffset. Vì những kiểu này phù hợp với Chuẩn SQL và dễ di chuyển hơn. Ngoài ra time, datetime2datetimeoffset có độ chính xác giây nhiều hơn và datetimeoffset hỗ trợ múi giờ.

Kiểu dữ liệu chuỗi ký tự

Kiểu dữ liệu chuỗi ký tự cho phép bạn lưu trữ dữ liệu có độ dài cố định (char) hoặc độ dài thay đổi (varchar). Kiểu dữ liệu văn bản có thể lưu trữ dữ liệu không phải Unicode trong trang mã của máy chủ.

Kiểu dữ liệu Giới hạn dưới Giới hạn trên Memory
char 0 chars 8000 chars n bytes
varchar 0 chars 8000 chars n bytes + 2 bytes
varchar (max) 0 chars 2^31 chars n bytes + 2 bytes
text 0 chars 2,147,483,647 chars n bytes + 4 bytes

Kiểu dữ liệu chuỗi ký tự Unicode

Kiểu dữ liệu chuỗi ký tự Unicode lưu trữ dữ liệu ký tự Unicode có độ dài cố định (nchar) hoặc độ dài thay đổi (nvarchar).

Kiểu dữ liệu Giới hạn dưới Giới hạn trên Bộ nhớ
nchar 0 ký tự 4000 ký tự 2 lần n bytes
nvarchar 0 ký tự 4000 ký tự 2 lần n bytes + 2 bytes
ntext 0 ký tự 1,073,741,823 char 2 lần độ dài chuỗi

Kiểu dữ liệu chuỗi nhị phân

Các kiểu dữ liệu nhị phân lưu trữ dữ liệu nhị phân có độ dài cố định và thay đổi.

Kiểu dữ liệu Giới hạn dưới Giới hạn trên Bộ nhớ
binary 0 bytes 8000 bytes n bytes
varbinary 0 bytes 8000 bytes Độ dài thực tế của dữ liệu đã nhập + 2 bytes
image 0 bytes 2,147,483,647 bytes

Các kiểu dữ liệu khác

Kiểu dữ liệu Mô tả
cursor cho các biến hoặc tham số OUTPUT của stored procedure có chứa tham chiếu đến con trỏ
rowversion hiển thị các số nhị phân duy nhất, được tạo tự động trong cơ sở dữ liệu.
hierarchyid đại diện cho một vị trí cây trong một hệ thống phân cấp cây
uniqueidentifier 16-byte GUID
sql_variant lưu trữ các giá trị của các kiểu dữ liệu khác
XML lưu trữ dữ liệu XML trong một cột hoặc một biến kiểu XML
Spatial Geometry type biểu diễn dữ liệu trong một hệ tọa độ phẳng.
Spatial Geography type lưu trữ dữ liệu hình elip (hình tròn), chẳng hạn như tọa độ kinh độ và vĩ độ GPS.
table lưu trữ tập hợp kết quả tạm thời để xử lý sau

Trong hướng dẫn này, bạn đã học tổng quan ngắn gọn về các kiểu dữ liệu trong SQL Server. Chúng ta sẽ xem xét chi tiết từng kiểu dữ liệu trong các bài hướng dẫn tiếp theo.

Trả lời

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 *