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) |