Data Type MySQL (Bài trước)
(Bài tiếp) Ràng buộc

Phân loại kiểu dữ liệu trong SQL Server

Kiểu dữ liệu trong SQL Server cũng giống như kiểu dữ liệu trong các ngôn ngữ lập trình, cho biết loại dữ liệu lưu trong biến hoặc biểu thức hoặc một cột: như dữ liệu là số ngyên, dữ liệu là chuỗi ký tự ...

Các kiểu dữ liệu trong SQL Server được phân ra thành các nhóm như sau:

  • Số chính xác
  • Số gần đúng
  • Ngày tháng
  • Chuỗi ký tự
  • Chuỗi ký tự Unicode
  • Chuỗi nhị phân
  • Một số loại khác

Kiểu dữ liệu số chính xác trong SQL Server

Kiểu dữ liệu số chính xác gồm có các loại số tự nhiên và số thực decimal (số thực dấu chấm cố định, các phép toán số này không bị làm tròn).

Kiểu Độ dài (byte) Diễn tả (dải giá trị ...)
Số nguyên trong SQL Server
tinyint 1 giá trị 0 tới 255
smallint 2 -2^15 đến 2^15-1
int 4 -2^31 đến 2^31-1
bigint 8 -2^63 đến 2^63-1
bit 1 Kiểu số nguyên, lưu giá trị 0,1 và NULL.Chuỗi 'TRUE' và 'FALSE' sẽ được convert thành TRUE, FALSE tiếp theo convert TRUE, FALSE thành 1, 0.
Số thực chính xác trong SQL Server
decimal ? Cú pháp kiểu là DECIMAL(p,s): trong đó p là phần nguyên và s là phần thập phân (sau dấu chấm). Tùy theo kích thước p và s mà số byte của kiểu này từ 5 đến 17 byte. Số này là dạng số chính xác, nên được dùng cho tiền tệ ...
numeric ? Giống decimal, nó chính là decimal
money 8 Dùng để biểu diễn tiền tệ, với độ chính xác phần mười nghìn (4 số sau dấu chấm). Giá trị từ -922,337,203,685,477.5808 đến 922,337,203,685,477.5807
smallmoney 4 Giống money, giá trị 214,748.3648 tới 214,748.3647

Kiểu số thực trong SQL Server

Số thực dấu chấm động (số số gần đúng, như 0.1 + 0.2 có thể là 0.300000000000001)

Kiểu Độ dài (byte) Diễn tả (dải giá trị ...)
real 4 -3.40E+38 tới -1.18E-38 (có dấu), 0, và 1.18E-38 tới 3.40E+38 (không dấu)
float 4 hoặc 8 Cú pháp tạo kiểu float(n), n là số phần thập phân mặc định float thì n = 53. n=1-24 thì float chiếm 4 byte, n = 25-53 thì chiếm 8 btye. Giá trị lưu trữ - 1.79E+308 tới -2.23E-308, số 0 và 2.23E-308 to 1.79E+308 (không dấu).

Kiểu dữ liệu biểu diễn thời gian, ngày tháng trong SQL Server

Kiểu Độ dài (byte) Diễn tả (dải giá trị ...)
datetime 8 Biểu diễn ngày từ 1/1/1753 tới 31/12/9999 và kèm thời gian giá trị 00:00:00 tới 23:59:59.99. Giá trị mặc định 1900-01-01 00:00:00, độ chính xác mili giây (.001, .002 ...).
smalldatetime 4 Biểu diễn ngày từ 1900-01-01 đến 2079-06-06 và kèm thời gian giá trị 00:00:00 đến 23:59:59 (độ chính xác phút)
datetimeoffset 8-10 Kết hợp datetime2 và thông tin timezone (múi giờ). Ví dụ '12-10-25 12:32:10 +01:00'
datetime2 6 - 8 Biểu diễn ngày từ 0001-01-01 tới 9999-12-31 và kèm thời gian giá trị 00:00:00 tới 23:59:59.9999999 (độ chính xác 7 chữ số giây sau dấu chấm).
date 3 Chỉ lưu trữ ngày, từ 1/1/0001 đến 31/12/9999.
time 3 - 5 Chỉ lưu trữ thời gian, 00:00:00.0000000 đến 23:59:59.9999999. Lưu trữ 3 - 5 byte tùy theo cách khởi tạo độ chính xác time(n)

Kiểu chuỗi ký tự trong SQL Server

Kiểu Độ dài (byte) Diễn tả (dải giá trị ...)
char ? Chú pháp tạo kiểu lưu trữ chuỗi ký tự độ dài cố định char(n), n là số ký tự (n = 1 - 8,000). Các ký tự biểu diễn bởi 1 byte
varchar ? Chú pháp tạo kiểu lưu trữ chuỗi ký tự độ dài thay đổi, varchar(n), n là số ký tự (n = 1 - 8,000). Các ký tự biểu diễn bởi 1 byte. varchar(max) tạo ra kiểu lưu tới 2GB byte.
text ? Lưu trữ các ký tự không phải unicode, dài tới 2,147,483,647 ký tự.

Kiểu chuỗi ký tự unicode trong SQL Server

Kiểu Độ dài (byte) Diễn tả (dải giá trị ...)
nchar ? Chú pháp tạo kiểu lưu trữ chuỗi ký tự độ dài cố định char(n), n là số ký tự (n = 1 - 8,000). Các ký tự biểu diễn bởi 2 byte
nvarchar ? Chú pháp tạo kiểu lưu trữ chuỗi ký tự độ dài thay đổi, varchar(n), n là số ký tự (n = 1 - 8,000). Các ký tự biểu diễn bởi 2 byte. varchar(max) tạo ra kiểu lưu tới 2GB byte.
ntext ? Lưu trữ các ký tự unicode, dài tới 2,147,483,647 ký tự.

Kiểu chuỗi nhị phân SQL Server

Kiểu này lưu trữ chuỗi là các dữ liệu nhị phân, ví dụ nội dung một file hình ảnh ...

Kiểu Độ dài (byte) Diễn tả (dải giá trị ...)
binary ? Chú pháp tạo kiểu lưu trữ chuỗi nhị phân có cỡ cố định binary(n), n là số ký tự (n = 1 - 8,000)
image ? Chuỗi nhị phân dài tới 2,147,483,647 byte
varbinary ? Chú pháp tạo kiểu lưu trữ chuỗi nhị phân có cỡ thay đổi varbinary(n), n là số ký tự (n = 1 - 8,000)

Đăng ký nhận bài viết mới
Data Type MySQL (Bài trước)
(Bài tiếp) Ràng buộc