Kiểu dữ liệu trong SQL
Trong bài trước bạn đã biết những cú pháp SQL cơ bản rồi đúng không nào? Ở bài này chúng ta sẽ đi tìm hiểu về các kiểu dữ liệu trong SQL.
Giống như những ngôn ngữ khác, SQL cũng có những kiểu dữ liệu riêng. Kiểu dữ liệu của SQL (SQL Data Type) là thuộc tính xác định loại dữ liệu của bất kỳ đối tượng nào. Mỗi cột, mỗi biến, biểu thức đều có kiểu dữ liệu liên quan trong SQL. Bạn có thể sử dụng các kiểu dữ liệu này để tạo bảng hoặc chọn kiểu dữ liệu cho 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 dữ liệu mà bạn có thể sử dụng như trong danh sách dưới đây:
Kiểu dữ liệu Exact Numeric (số chính xác, không sai số)
Kiểu dữ liệu | Bắt đầu từ | Đến |
---|---|---|
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 (số xấp xỉ)
Kiểu dữ liệu | Bắt đầu từ | Đến |
---|---|---|
float | -1.79E + 308 | 1.79E + 308 |
real | -3.40E + 38 | 3.40E + 38 |
Kiểu dữ liệu ngày giờ trong SQL
Kiểu dữ liệu | Bắt đầu từ | Đến |
---|---|---|
datetime | Jan 1, 1753 | Dec 31, 9999 |
smalldatetime | Jan 1, 1900 | Jun 6, 2079 |
date | Lưu một ngày dưới dạng June 30, 1991 | |
time | Lưu giữ một thời gian dưới dạng 12:30 P.M. |
Ở đây, datetime có độ chính xác là 3.33 mili giây, smalldatetime có độ chính xác là một phút.
Kiểu dữ liệu chuỗi ký tự
Kiểu dữ liệu | Mô tả |
---|---|
char | Độ dài tối đa là 8000 ký tự. (Các ký tự không phải Unicode có độ dài được fix cố định) |
varchar | Độ dài tối đa là 8000 ký tự. (Dữ liệu không phải Unicode có độ dài tùy biến). |
varchar(max) | Độ dài tối đa là 231 ký tự, dữ liệu không phải Unicode có độ dài tùy biến (Chỉ với SQL Server 2005). |
text | Dữ liệu không phải Unicode có độ dài tùy biến với độ dài tối đa là 2.147.483.647 ký tự. |
Kiểu dữ liệu chuỗi ký tự, chứa Unicode
Kiểu dữ liệu | Mô tả |
---|---|
nchar | Dài tối đa 4.000 ký tự. (Ký tự Unicode có độ dài cố định) |
nvarchar | Dài tối đa 4.000 ký tự. (Ký tự Unicode có độ dài tùy biến) |
nvarchar(max) | Dài tối đa 231characters (chỉ với SQL Server 2005). (Ký tự Unicode có độ dài tùy biến) |
ntext | Dài tối đa 1.073.741.823 ký tự. (Ký tự Unicode có độ dài tùy biến) |
Kiểu dữ liệu nhị phân (binary)
Kiểu dữ liệu | Mô tả |
---|---|
binary | Độ dài tối đa 8.000 byte (Dữ liệu nhị phân có độ dài cố định) |
varbinary | Chiều dài tối đa 8.000 byte (Dữ liệu nhị phân có chiều dài biến đổi) |
varbinary(max) | Dài tối đa 231 byte (chỉ trên SQL Server 2005). (Dữ liệu nhị phân có chiều dài biến đổi) |
image | Dài tối đa 2.147.483.647 byte. (Dữ liệu nhị phân có chiều dài biến đổi) |
Các kiểu dữ liệu SQL khác
Kiểu dữ liệu | Mô tả |
---|---|
sql_variant | Lưu trữ những kiểu dữ liệu khác nhau được SQL Server hỗ trợ, ngoại trừ text, ntext và timestamp. |
timestamp | Lưu trữ một số duy nhất trong cơ sở dữ liệu, được cập nhật mỗi khi hàng được cập nhật. |
uniqueidentifier3 | Lưu trữ định danh chung duy nhất (Globally Unique Identifier - GUID) |
xml | Lưu trữ dữ liệu XML, bạn có thể lưu xml trong cột hoặc biến (chỉ trên SQL Server 2005). |
cursor | Tham chiếu tới một đối tượng con trỏ. |
table | Lưu trữ một tập hợp kết quả để xử lý sau. |
Trong bài tiếp theo chúng ta sẽ tìm hiểu về các toán tử trong SQL.
Bài tiếp: Toán tử trong SQL
Bài trước: Cú pháp SQL cơ bản

-
Qualcomm ra mắt chương trình Snapdragon Insider, ai cũng có thể tham gia
-
3 ứng dụng tuyệt vời giúp bạn cá nhân hóa màn hình Windows 10 của mình
-
Cách xem và quản lý các thiết bị được liên kết trong Signal
-
Cách nhận quà 8/3 từ MobiFone
-
Cách dùng TV360 xem phim, truyền hình trực tiếp
-
10 giống chó cảnh được nuôi nhiều nhất ở Việt Nam
-
Sự khác biệt giữa SQL, PL/SQL và T-SQL
-
## trong SQL (2 dấu thăng) nghĩa là gì?
-
[QUIZ] Kiểm tra hiểu biết của bạn về SQL - Phần 4
-
5 phần mềm tối ưu hóa truy vấn SQL tốt nhất để tăng tốc MySQL
-
[QUIZ] Kiểm tra hiểu biết của bạn về SQL - Phần 7
-
[QUIZ] Kiểm tra hiểu biết của bạn về SQL - Phần 6