Các kiểu dữ liệu trong SQL Server
Các kiểu dữ liệu trong SQL Server là kiến thức cơ bản mà mọi lập trình viên đều cần biết. Dưới đây là những điều bạn cần nắm được về kiểu dữ liệu SQL Server.
Kiểu dữ liệu SQL rất quan trọng trong cơ sở dữ liệu quan hệ. Nó đảm bảo dữ liệu được lưu trữ hiệu quả và chính xác. Kiểu dữ liệu xác định loại giá trị mà một cột có thể chứa, chẳng hạn như số, văn bản hoặc ngày. Hiểu Kiểu dữ liệu SQL rất quan trọng đối với quản trị viên cơ sở dữ liệu, nhà phát triển và nhà phân tích dữ liệu để thiết kế cơ sở dữ liệu mạnh mẽ và tối ưu hóa hiệu suất.
Ở bài viết này, chúng ta sẽ tìm hiểu tổng quan toàn diện về Kiểu dữ liệu SQL Server, ý nghĩa của chúng và các ví dụ thực tế cho nhiều tình huống khác nhau. Bài viết sẽ đề cập đến các Kiểu dữ liệu SQL khác nhau như Số, Ngày và giờ, Ký tự, v.v.
Tại sao Kiểu dữ liệu SQL Server lại quan trọng?
Kiểu dữ liệu SQL Server rất cần thiết để thiết kế cơ sở dữ liệu quan hệ, vì chúng xác định cách dữ liệu được lưu trữ, quản lý và tương tác. Việc chọn đúng kiểu dữ liệu đảm bảo:
- Tính toàn vẹn của dữ liệu: Ngăn dữ liệu không hợp lệ được nhập vào cơ sở dữ liệu (ví dụ: lưu trữ văn bản trong cột số).
- Lưu trữ hiệu quả: Giảm chi phí lưu trữ bằng cách chỉ phân bổ không gian cần thiết cho dữ liệu.
- Hiệu suất truy vấn: Cải thiện hiệu suất truy vấn bằng cách cho phép lập chỉ mục và tìm kiếm nhanh hơn.
- Khả năng tương thích của ứng dụng: Đảm bảo tương tác mượt mà giữa cơ sở dữ liệu và các ứng dụng bằng cách thực thi tính nhất quán trong xử lý dữ liệu.
Trong SQL Server, mỗi cột, biến cục bộ, biểu thức và tham số đều có một kiểu dữ liệu liên quan. Một kiểu dữ liệu là một thuộc tính xác định kiểu dữ liệu mà đối tượng có thể nắm giữ, bao gồm: dữ liệu số nguyên, ký tự, tiền tệ, ngày & thời gian, chuỗi nhị phân…
SQL Server cung cấp một tập hợp các kiểu dữ liệu hệ thống xác định tất cả các kiểu dữ liệu có thể được sử dụng với SQL Server. Bạn cũng có thể chỉ định các kiểu dữ liệu riêng trong Transact-SQL hoặc Microsoft.NET Framework.
Nhìn chung, datatype là một phân loại dữ liệu, cho trình biên dịch biết loại dữ liệu nào lập trình viên lưu trữ. Hầu hết ngôn ngữ lập trình đều hỗ trợ các kiểu dữ liệu khác nhau, chẳng hạn như số nguyên, ký tự hoặc chuỗi, Boolean…
Kiểu dữ liệu SQL Server là gì?
Datatype đảm bảo kiểu dữ liệu mà cột hoặc biến có thể lưu trữ trong SQL Server. Khi tạo bảng hoặc biến bất kỳ, nó yêu cầu xác định kiểu dữ liệu sẽ lưu ngoài tên của từng cột. Ví dụ, trong SQL Server, mỗi bảng có nhiều cột và chứa kiểu dữ liệu cụ thể cho từng cột. Chúng có thể là số nguyên, float, varchar, Boolean…
Cách dùng datatype?
Bạn cần xác định kiểu dữ liệu trước cho từng cột của một bảng để đảm bảo kiểu dữ liệu mà nó có thể lưu trữ. Cấu hình kiểu dữ liệu cũng ngăn người dùng nhập bất kỳ thông tin không hợp lệ hoặc không mong muốn.
Khi gán kiểu dữ liệu phù hợp cho một cột, bạn có thể tận dụng bộ nhớ hiệu quả bằng cách phân bổ chỉ một số lượng bộ nhớ hệ thống cần cho dữ liệu trong cột liên quan.
Bạn có thể dùng những đặc điểm sau để xác định kiểu dữ liệu trong SQL Server:
- Kiểu dữ liệu (cố định hoặc tùy biến) mà nó đại diện.
- Dung lượng lưu trữ tùy thuộc vào giá trị, có độ dài cố định hoặc biến thiên.
- Giá trị lưu trữ có thể được đánh chỉ mục hoặc không.
- Cách SQL Server triển khai một so sánh giá trị của một kiểu dữ liệu cụ thể.
Các kiểu dữ liệu trong SQL Server:
- String - Chuỗi
- Numeric - Số
- Date and Time - Ngày và thời gian
Kiểu dữ liệu chuỗi kí tự trong SQL Server
Dưới đây là các kiểu dữ liệu thuộc nhóm chuỗi kí tự trong SQL Server (Transact-SQL).
Cú pháp kiểu dữ liệu | Kích thước tối đa | Giải thích |
CHAR(kich_thuoc) | Tối đa 8000 kí tự. |
|
VARCHAR(kich_thuoc) hoặc VARCHAR(toi_da) | Tối đa 8000 kí tự hoặc theo số tối đa. |
|
TEXT | Tối đa 2GB. |
|
NCHAR(kich_thuoc) | Tối đa 4000 kí tự. |
|
NVARCHAR(kich_thuoc) hoặc NVARCHAR(toi_da) | Tối đa 4000 kí tự hoặc theo số tối đa. |
|
NTEXT | Tối đa 1.073.741.823 byte. |
|
BINARY(kich_thuoc) | Tối đa 8000 kí tự. |
|
VARBINARY(kich_thuoc) hoặc VARBINARY(toi_da) | Tối đa 8000 kí tự hoặc theo số tối đa. |
|
IMAGE | kích thước tối đa là 2GB. |
|
Kiểu dữ liệu dạng số trong SQL Server
Dưới đây là danh sách các kiểu dữ liệu thuộc dạng số trong SQL Server (Transact-SQL).
Cú pháp kiểu dữ liệu | Kích thước tối đa | Giải thích |
BIT | số nguyên 0, 1 hoặc NULL | |
TINYINT | từ 0 đến 255 | |
SMALLINT | từ -32768 đến 32767 | |
INT | -2,147,483,648 đến 2,147,483,647 | |
BIGINT | từ -9,223,372,036,854,775,808 đến 9,223,372,036,854,775,807 | |
DECIMAL(m,d) |
| m là tổng số lượng các số còn d là số lượng các số nằm sau dấu phẩy. |
DEC(m,d) |
| m là tổng số lượng các số còn d là số lượng các số nằm sau dấu phẩy. Đồng nghĩa với kiểu dữ liệu DECIMAL. |
NUMERIC(m,d) |
| m là tổng số lượng các số còn d là số lượng các số nằm sau dấu phẩy. Đồng nghĩa với kiểu dữ liệu DECIMAL. |
FLOAT(n) | số dấu phẩy động n mặc định là 53 nếu không được chỉ định cụ thể. | n là số lượng của số bit lưu trữ trong một kí hiệu hóa học. |
REAL | tương đương với FLOAT(24) | |
SMALLMONEY | từ - 214,748.3648 đến 214,748.3647 | |
MONEY | từ -922,337,203,685,477.5808 đến 922,337,203,685,477.5807 |
Kiểu dữ liệu ngày tháng/thời gian trong SQL Server
Dưới đây là danh sách các kiểu dữ liệu ngày tháng/thời gian trong SQL Server (Transact-SQL)
Cú pháp kiểu dữ liệu | Kích thước tối đa | Giải thích |
DATE | giá trị từ '0001-01-01' đến '9999-12-31. | hiển thị dưới dạng ‘YYYY-MM-DD’ |
DATETIME |
| hiển thị dưới dạng ‘YYYY-MM-DD hh:mm:ss[.mmm] |
DATETIME2(chính xác tới số thập phân của giây) |
| hiển thị dưới dạng 'YYYY-MM-DD hh:mm:ss[.số giây thập phân]' |
SMALLDATETIME |
| hiển thị dưới dạng 'YYYY-MM-DD hh:mm:ss |
TIME |
| hiển thị dưới dạng 'YYYY-MM-DD hh:mm:ss[.nnnnnnn]' |
DATETIMEOFFSET (chính xác tới số thập phân của giây) |
| hiển thị dưới dạng YYYY-MM-DD hh:mm:ss[.nnnnnnn]' [{+|-}hh:mm] |
Các kiểu dữ liệu khác trong SQL Server
Kiểu dữ liệu | Mô tả |
sql_variant | Chứa tới 8,000 byte dữ liệu của các kiểu khác nhau, ngoại trừ text, ntext, và timestamp |
uniqueidentifier | Lưu trữ một mã định danh duy nhất trên toàn cục (GUID) |
xml | Lưu trữ dữ liệu định dạng XML. Tối đa 2GB |
cursor | Lưu trữ một tham chiếu tới con trỏ được dùng cho các hoạt động database |
table | Lưu trữ một bộ kết quả để xử lý sau |
Bài trước: Mệnh đề PIVOT trong SQL Server
Bài sau: Lệnh CREATE TABLE trong SQL Server
Bạn nên đọc
-
Hàm USER_NAME trong SQL Server
-
Kiểm tra thông tin phiên bản trong SQL Server
-
Câu lệnh CASE trong SQL Server
-
Hàm SYSTEM_USER trong SQL Server
-
Câu lệnh CURRENT_USER trong SQL Server
-
Lệnh SELECT TOP trong SQL Server
-
Hàm GETDATE trong SQL Server
-
Cách phân quyền cho người dùng trong MS SQL Server
-
Hàm SUBSTRING trong SQL Server
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

- Dương Đình DẫnThích · Phản hồi · 7 · 23/03/21

Cũ vẫn chất
-
Cách dùng Terabox lưu trữ với 1TB miễn phí
Hôm qua 5 -
DRAM và DRAM-less SSD có gì khác nhau?
Hôm qua -
Các cách làm, tùy chỉnh trong bài sẽ giúp tăng tốc Windows 10 của bạn "nhanh như gió"
Hôm qua 6 -
Cách chặn từ khóa và Hashtag trên Twitter
Hôm qua -
PING là gì? Test PING như thế nào?
Hôm qua -
Cách sao chép hoặc tạo bản sao toàn bộ trang tính trong Google Sheets
Hôm qua -
Dynamic System Updates là gì?
Hôm qua -
4 cách kiểm tra lịch sử giao dịch BIDV trên điện thoại, máy tính
Hôm qua -
Điểm ưu tiên, điểm khuyến khích, khu vực ưu tiên khi xét tuyển năm 2022
Hôm qua -
Cách ẩn, hiện ghi chú trong bảng trên Excel
Hôm qua