SQL Server cung cấp nhiều kiểu dữ liệu để lưu trữ các loại dữ liệu khác nhau. Dưới đây là một số kiểu dữ liệu chính:
1. Kiểu dữ liệu số:
- Số nguyên:
- BIT: Lưu trữ giá trị 0 hoặc 1.
- TINYINT: Lưu trữ số nguyên từ -128 đến 127.
- SMALLINT: Lưu trữ số nguyên từ -32768 đến 32767.
- INT: Lưu trữ số nguyên từ -2147483648 đến 2147483647.
- BIGINT: Lưu trữ số nguyên từ -9223372036854775808 đến 9223372036854775807.
- Số thực:
- FLOAT: Lưu trữ số thực với độ chính xác 7 chữ số thập phân.
- REAL: Lưu trữ số thực với độ chính xác 7 chữ số thập phân.
- DECIMAL: Lưu trữ số thực với độ chính xác tùy chỉnh.
- MONEY: Lưu trữ giá trị tiền tệ với độ chính xác 4 chữ số thập phân.
2. Kiểu dữ liệu chuỗi:
- CHAR: Lưu trữ chuỗi cố định với độ dài tối đa 8000 ký tự.
- VARCHAR: Lưu trữ chuỗi có độ dài thay đổi, tối đa 8000 ký tự.
- TEXT: Lưu trữ chuỗi có độ dài lớn, tối đa 2^31 – 1 bytes.
- NCHAR: Lưu trữ chuỗi Unicode cố định với độ dài tối đa 4000 ký tự.
- NVARCHAR: Lưu trữ chuỗi Unicode có độ dài thay đổi, tối đa 4000 ký tự.
- NTEXT: Lưu trữ chuỗi Unicode có độ dài lớn, tối đa 2^31 – 1 bytes.
3. Kiểu dữ liệu thời gian:
- DATE: Lưu trữ ngày tháng.
- TIME: Lưu trữ thời gian.
- DATETIME: Lưu trữ cả ngày tháng và thời gian.
- SMALLDATETIME: Lưu trữ ngày tháng và thời gian với độ chính xác 1 phút.
- DATETIME2: Lưu trữ ngày tháng và thời gian với độ chính xác cao.
4. Kiểu dữ liệu đặc biệt:
- UNIQUEIDENTIFIER: Lưu trữ giá trị GUID (Globally Unique Identifier).
- XML: Lưu trữ dữ liệu XML.
- IMAGE: Lưu trữ dữ liệu nhị phân có độ dài lớn.
Lựa chọn kiểu dữ liệu phù hợp:
Việc lựa chọn kiểu dữ liệu phù hợp cho mỗi trường dữ liệu là rất quan trọng để đảm bảo hiệu quả lưu trữ và truy xuất dữ liệu. Cần cân nhắc các yếu tố như loại dữ liệu, độ dài, độ chính xác và phạm vi giá trị khi lựa chọn kiểu dữ liệu.
Ví dụ:
- Lưu trữ tên người dùng: Sử dụng VARCHAR(255) để lưu trữ tên người dùng có độ dài tối đa 255 ký tự.
- Lưu trữ số điện thoại: Sử dụng VARCHAR(15) để lưu trữ số điện thoại có độ dài tối đa 15 ký tự.
- Lưu trữ ngày tháng: Sử dụng DATE để lưu trữ ngày tháng.
- Lưu trữ thời gian: Sử dụng TIME để lưu trữ thời gian.
- Lưu trữ nội dung bài viết: Sử dụng TEXT để lưu trữ nội dung bài viết có độ dài lớn.