SQL Server: Kiểu dữ liệu hệ thống
Giải phóng thời gian, khai phóng năng lực
Kiểu dữ liệu dùng để định nghĩa loại giá trị có thể lưu trữ cho một cột nào đó của bảng.
Dưới đây là danh sách các kiểu dữ liệu hệ thống (được xây dựng sẵn) phổ biến:
Mục |
Kiểu dữ liệu |
Mô tả |
---|---|---|
Số chính xác |
int |
Một cột được khai báo kiểu dữ liệu này sẽ sử dụng 4 byte trong bộ nhớ máy tính. Nó thường được sử dụng để lưu trữ giá trị số nguyên. |
smallint |
Một cột được khai báo kiểu dữ liệu này sẽ sử dụng 2 byte trong bộ nhớ máy tính. Nó có thể lưu trữ các số nguyên từ -32768 đến 32767. |
|
tinyint |
Một cột của kiểu này chiếm 1 byte trong bộ nhớ. Có giá trị từ 0 đến 255 |
|
bigint |
Một cột được khai báo kiểu dữ liệu này sẽ sử dụng 8 byte trong bộ nhớ máy tính. Nó có thể lưu trữ các số nguyên từ -2^63 (-9.223.372.036.854.775.808) đến 2^63-1 |
|
numeric |
Một cột được khai báo kiểu dữ liệu này sẽ có độ chính xác cao và có thể co dãn kích thước lưu trữ trong bộ nhớ. |
|
money |
Một cột được khai báo kiểu dữ liệu này sẽ sử dụng 8 byte trong bộ nhớ máy tính. Biểu diễn giá trị dữ liệu tiền tệ từ (-2^63/10000) đến (2^63-1). |
Mục |
Kiểu dữ liệu |
Mô tả |
Số xấp xỉ (Approximate) |
float |
Một cột được khai báo kiểu dữ liệu này sẽ sử dụng 8 byte trong bộ nhớ máy tính. Biễu diễn các số chấm động từ -1.79E+308 đến 1.79E+308. |
real |
Một cột được khai báo kiểu dữ liệu này sẽ sử dụng 4 byte trong bộ nhớ máy tính. Biễu diễn các số chấm động có độ chính xác từ -3.4E+38 đến 3.40E+38. |
|
|
datetime |
Biễu diễn ngày và giờ. Được lưu trữ như là 2 số integer, chiếm 8 byte. |
smalldatetime |
Biễu diễn ngày và giờ. Được lưu trữ như là 2 số integer, chiếm 4 byte. |
|
date |
Chỉ biễu diễn ngày. |
Mục |
Kiểu dữ liệu |
Mô tả |
---|---|---|
Chuỗi ký tự không dấu |
char(n) |
Lưu trữ dữ liệu ký tự với kích thước cố định và không hỗ trợ Unicode (không lưu được dữ liệu có dấu). Để dễ hình dung hơn có kiểu dữ liệu này, ta ví dụ như n=20, tức là char(20) và điều này có nghĩa là cột của bảng có kiểu này có thể lưu trữ được những chuỗi không dấu lên đến tối đa 20 ký tự. Nếu ta có một chuỗi là 'SQL Server 2014', chuỗi này gồm 15 ký tự, khi đó vì còn thừa 5 ký tự (20-15=5) nên hệ thống sẽ tự động thêm vào sau chuỗi tương ứng năm dấu cách cho đủ 20. Điều này có nghĩa rằng dữ liệu lưu trữ trong cột có kiểu char(20) sẽ luôn luôn có kích thước là 20. |
varchar(n) |
Cũng lưu trữ dữ liệu ký tự nhưng với kích thước thay đổi theo thực tế của dữ liệu và kích thước tối đa là n ký tự và không hỗ trợ Unicode. |
|
text |
Lưu trữ dữ liệu ký tự, độ dài có thể thay đổi và không hỗ trợ Unicode. Nó thường được dùng để lưu trữ văn bản có kích thước lớn, như mô tả sản phẩm chẳng hạn. |
|
Chuỗi ký tự có dấu (unicode) |
nchar(n) |
Lưu trữ dữ liệu kí tự, nó được cố định kích thước và có hỗ trợ Unicode. |
nvarchar(n) |
Lưu trữ dữ liệu kí tự, độ dài có thể thay đổi và có hỗ trợ Unicode. |
|
ntext | Lưu trữ dữ liệu ký tự, độ dài có thể thay đổi và hỗ trợ chữ có dấu (Unicode). Nó thường được dùng để lưu trữ văn bản có kích thước lớn, như mô tả sản phẩm chẳng hạn. |
Mục |
Kiểu dữ liệu |
Mô tả |
---|---|---|
Một số kiểu dữ liệu khác |
Một cột được khai báo kiểu dữ liệu này sẽ sử dụng 8 byte trong bộ nhớ máy tính. Nó chứa các số binary tự động phát sinh (mỗi hàng là một số duy nhất). |
|
binary(n) |
Lưu trữ dữ liệu binary có độ đài cố định với độ dài tối đa là 8000byte. |
|
varbinary(n) |
Lưu trữ dữ liệu binary có độ đài thay đổi với độ dài tối đa là 8000byte. . |
|
image |
Lưu trữ dữ liệu binary có độ đài thay đổi với độ dài tối đa là (2^30-1) byte. |
|
Một cột được khai báo kiểu dữ liệu này sẽ sử dụng 16 byte trong bộ nhớ máy tính. Ngoài ra nó lưu trữ một GUID (Globally Unique Identifier). Cấu trúc của mã GUID có dạng theo hệ 16: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, ví dụ: 72A07EF0-6BB8-4AEF-B2FF-6C5C7D3439D8. Bạn có thể dùng hàm NEWID() để tạo giá trị này một cách tự động. |
Giải phóng thời gian, khai phóng năng lực