Tìm hiểu các kiểu dữ liệu phổ biến trong SQL Server
Đăng lúc: 08:34 AM - 15/09/2023 bởi Charles Chung - 731Để tối ưu trong việc lưu trữ thì SQL Server phân chia dữ liệu thành nhiều loại khác nhau, mỗi loại sẽ có đồ dài nhất định và phù hợp với từng trường hợp. Trong bài này chúng ta sẽ tìm hiểu một số kiểu dữ liệu phổ biến trong SQL Server.
1. Giới thiệu
Kiểu dữ liệu trong SQL-Server là một thuộc tính xác định loại dữ liệu mà các đối tượng được khai báo có thể lưu trữ, mỗi kiểu dữ liệu sẽ có một tên và kích thước, miền giá trị khác nhau, nó giúp cho việc tối ưu bộ nhớ khi sử dụng. Kiểu dữ liệu có thể sử dụng trong:
- Các cột có trong bảng và trong view
- Các tham số trong của thủ tục lưu
- Các biến
- Các hàm Transact-SQL trả về giá trị dữ liệu
- Các thủ tục lưu (Stored procedures) trả về một mã số kiểu nguyên
2. Mô tả chi tiết các kiểu dữ liệu phổ biến trong SQL-Server
Tên kiểu | Mô tả |
bigint | Kiểu số nguyên lớn, phạm vi từ -9,223,372,036,854,775,808 đến 9,223,372,036,854,775,807 |
int | Kiểu số nguyên, phạm vi từ -2.147.483.648 đến 2.147.483.647 |
smallint | Kiểu số nguyên nhỏ, phạm vi từ -32.768 đến 32.767 |
tinyint | Kiểu số nguyên rất nhỏ, phạm vi từ 0 đến 255 |
bit | Kiểu số nguyên dạng bit chứa các giá trị 0 hoặc 1 |
decimal(n,p) |
Kiểu số lớn với độ chính xác cố định
|
numeric(n,p) |
Kiểu số lớn với độ chính xác cố định
|
money | Kiểu tiền tệ, phạm vi từ -922,337,203,685,477.5808 đến 922,337,203,685,477.5807 |
smallmoney | Kiểu tiền tệ nhỏ, phạm vi từ -214.748.3648 đến 214.748.3647 |
float | Kiểu số thực, phạm vi từ -1.79E + 308 đến 1,79E + 308 |
real | Kiểu số thực, phạm vi từ -3,40E + 38 đến 3,40E + 38 |
datetime | Kiểu ngày giờ, phạm vi từ Ngày 1 tháng 1 năm 1753 đến Ngày 31 tháng 12 năm 9999 |
smalldatetime | Kiểu ngày giờ ngắn, phạm vi từ 1 tháng 1 năm 1900 đến 6 tháng 6 năm 2079 |
date | Kiểu ngà,y lưu trữ một ngày như ngày 30 tháng 6 năm 1991 |
time | Kiểu thời, gian lưu trữ thời gian trong ngày như 12:30 PM |
char(n) | Kiểu ký tự,n là số ký tự, chiều dài tối đa 8.000 ký tự (số ký tự cố định chiều dài ký tự, không phải là ký tự Unicode) |
varchar(n) | Kiểu ký tự,n là số ký tự, chiều dài tối đa 8.000 ký tự (chiều dài biến đổi, không phải là ký tự Unicode), nếu thay n bằng hằng số MAX thì nó có thể lưu được 1.073.741.824 ký tự |
text | Kiểu ký tự, có chiều dài biến đổi, không phải là ký tự Unicode, kích thước tối đa 2GB dữ liệu |
nchar(n) | Kiểu ký tự,n là số ký tự, chiều dài tối đa 4.000 ký tự (số ký tự cố định chiều dài ký tự,lưu được ký tự Unicode) |
nvarchar(n) | Kiểu ký tự,n là số ký tự, chiều dài tối đa 4.000 ký tự (chiều dài biến đổi, lưu được ký tự Unicode), nếu thay n bằng hằng số MAX thì nó có thể lưu được 1.073.741.824 ký tự |
ntext | Kiểu ký tự, có chiều dài biến đổi, lưu được ký tự Unicode, kích thước tối đa 2GB dữ liệu |
binary(n) | Tương tự như ntext, dữ liệu này có độ rộng chuỗi nhị phân thay đổi. Tuy nhiên, kích thước tối đa của chúng là 8.000 byte. |
varbinary(n) | Dữ liệu có độ rộng chuỗi nhị phân thay đổi và kích thước tối đa là 8.000 byte, nếu thay n bằng hằng số MAX thì có thể lưu 8GB. |
image | Dữ liệu có độ rộng chuỗi nhị phân thay đổi và kích thước tối đa là 8GB. |
sql_variant | Lưu trữ các giá trị của các Kiểu dữ liệu khác nhau được hỗ trợ bởi SQL Server, ngoại trừ văn bản, ntext và dấu thời gian. |
timestamp | Chỉ lưu trữ duy nhất một số cho mỗi lần cập nhật khi tạo hoặc chỉnh sửa hàng. Giá trị của Timestamp được căn cứ vào đồng hồ nội bộ và tất nhiên chúng sẽ không tương ứng thời gian thực. Ngoài ra, mỗi bảng chỉ có một biến Timestamp. |
uniqueidentifier | Lưu trữ một định danh duy nhất trên toàn cầu(GUID) |
xml | Cho phép lưu trữ dữ liệu có định dạng XML và khả năng lưu trữ tối đa 2 GB. |
cursor | Dùng để lưu trữ tham chiếu đến con trỏ được dùng cho những hoạt động trên cơ sở dữ liệu. |
table | Có chức năng như kho chứa một tập kết quả sẽ xử lý sau, bằng cách lưu trữ một tập kết quả chúng. |
thay lời cảm ơn!
Các bài cũ hơn
- Bộ hình nền độ phân giải 4k windows11 tuyệt đẹp (08:12 AM - 25/08/2023)
- Lập trình Front-End là gì? Lập trình Back-End là gì? Lập trình FullStack là gì? (08:24 PM - 23/08/2023)
- Lấy IP Address V4 của máy Client khi truy cập vào Website trong Asp.net Core 6.0 (10:19 PM - 04/08/2023)
- Sử dụng Microsoft Bing Chat AI để lập trình (04:56 PM - 31/07/2023)
- Tổng hợp các thư viên UI Components cho ReactJS (11:18 AM - 24/07/2023)