Kiến thức chung

Bài 5: Kiểu dữ liệu trong SQL

Kiểu dữ liệu trong SQL định nghĩa một kiểu giá trị mà một cột có thể chứa. Trong một bảng, mỗi cột cần có một tên và một kiểu dữ liệu. Kiểu dữ liệu thì khá đa dạng với các Database khác nhau. Ví dụ, MySQl hỗ trợ kiểu INT nhưng Oracle hỗ trợ kiểu NUMBER cho các giá trị nguyên.

Bạn sẽ sử dụng những kiểu dữ liệu này trong khi tạo các bảng của mình. Bạn sẽ chọn một kiểu dữ liệu cụ thể cho một cột trong bảng dựa trên yêu cầu của mình.

SQL Server cung cấp 6 loại kiểu dữ liệu cho bạn sử dụng:

Kiểu dữ liệu Exact Numeric (số chính xác, không sai số) trong SQL
Kiểu dữ liệu Từ Tới
bigint -9,223,372,036,854,775,808 9,223,372,036,854,775,807
int -2,147,483,648 2,147,483,647
smallint -32,768 32,767
tinyint 0 255
bit 0 1
decimal -10^38 +1 10^38 -1
numeric -10^38 +1 10^38 -1
money -922,337,203,685,477.5808 +922,337,203,685,477.5807
smallmoney -214,748.3648 +214,748.3647
Kiểu dữ liệu Approximate Numeric trong SQL
Kiểu dữ liệu Từ Tới
float -1.79E + 308 1.79E + 308
real -3.40E + 38 3.40E + 38
Kiểu dữ liệu Date và Time trong SQL
Kiểu dữ liệu Từ Tới
datetime Jan 1, 1753 Dec 31, 9999
smalldatetime Jan 1, 1900 Jun 6, 2079
date Lưu giữ một date dạng June 30, 1991
time Lưu giữ một time dạng 12:30 P.M.

Ghi chú: Ở đây, datetime có độ chính xác là 3.33 mili giây, trong khi smalldatetime có độ chính xác là 1 phút.

Kiểu dữ liệu Character String (kiểu chuỗi) trong SQL
Kiểu dữ liệu Miêu tả
char Không chứa Unicode, độ dài tối đa là 8.000 ký tự (các ký tự không phải Unicode có độ dài cố định)
varchar Không chứa Unicode, độ dài tối đa là 8.000 ký tự (dữ liệu không phải Unicode có độ dài có thể thay đổi)
varchar(max) Không chứa Unicode, độ dài tối đa là 231 ký tự, dữ liệu không phải Unicode có độ dài có thể thay đổi (chỉ với SQL Server 2005)
text Không chứa Unicode, độ dài tối đa là 2.147.483.647 ký tự, dữ liệu không phải Unicode có độ dài có thể thay đổi
Kiểu dữ liệu Unicode Character String (kiểu chuỗi có chứa Unicode) trong SQL
Kiểu dữ liệu Miêu tả
nchar Độ dài tối đa là 4.000 ký tự (Unicode có độ dài cố định)
nvarchar Độ dài tối đa là 4.000 ký tự (Unicode có độ dài có thể thay đổi)
nvarchar(max) Độ dài tối đa là 231 ký tự, Unicode có độ dài có thể thay đổi (chỉ với SQL Server 2005)
ntext Độ dài tối đa là 1.073.741.823 ký tự (Unicode có độ dài có thể thay đổi)
Kiểu dữ liệu Binary trong SQL
Kiểu dữ liệu Miêu tả
binary Độ dài tối đa là 8.000 byte (dữ liệu binary có độ dài cố định )
varbinary Độ dài tối đa là 8.000 byte (dữ liệu binary có độ dài có thể thay đổi)
varbinary(max) Độ dài tối đa là 231 byte, dữ liệu binary có độ dài có thể thay đổi (chỉ với SQL Server 2005)
image Độ dài tối đa là 2.147.483.647 byte (dữ liệu binary có độ dài có thể thay đổi)
Các kiểu dữ liệu khác trong SQL
Kiểu dữ liệu Miêu tả
sql_variant Lưu giữ các giá trị của các kiểu dữ liệu đa dạng được hỗ trợ bởi SQL Serverv, ngoại trừ text, ntext, và timestamp
timestamp Lưu giữ một số duy nhất mà được cập nhật mỗi khi một hàng được cập nhật
uniqueidentifier Lưu giữ một định danh chung (Globally Unique Identifier – GUID)
xml Lưu giữ dữ liệu XML. Bạn có thể lưu giữ xml trong một column hoặc một biến (chỉ với SQL Server 2005)
cursor Tham chiếu tới một đối tượng con trỏ (Cursor)
table Lưu giữ một tập hợp kết quả để xử lý vào lần sau

Leave a Reply

avatar
  Subscribe  
Notify of

Địa chỉ: Tầng 6, tòa nhà Việt Á, Số 9 Phố Duy Tân, Dịch Vọng Hậu, Cầu Giấy, Hà Nội