Các kiểu dữ liệu trong SQL (Data Type)
Trong bài này mình sẽ giới thiệu với các bạn các kiểu dữ liệu thường dùng trong các hệ quản trị CSDL như SQL Server, MySQL, Oracle, ... tuy rằng mỗi cái có những kiểu khác nhau nhưng chung quy lại vẫn chưa thành các nhóm chung.
Ví dụ:
- SQL Server có: nvarchar, varchar
- Oracle có char, varchar2
- MySQL có varchar, char ...
Vì nó chung quy như vậy nên mình sẽ lấy các kiểu dữ liệu trong SQL Server làm mẫu nhé.
1. Kiểu số nguyên
Đây là kiểu số nhưng là số chẵn và có cả số âm và số dương.
Bài viết này được đăng tại [free tuts .net]
Kiểu | Giá trị nhỏ nhất | Giá trị lớn nhất |
---|---|---|
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 |
2. Kiểu số thực
Là kiểu số cấp phát động, có nghĩa là số có dấu phẩy.
Kiểu | Giá trị nhỏ nhất | Giá trị lớn nhất |
---|---|---|
Float | -1.79E + 308 | 1.79E + 308 |
Real | -3.40E + 38 | 3.40E + 38 |
3. Kiểu ngày tháng
Là kiểu định dạng ngày tháng.
Kiểu | Giá trị nhỏ nhất | Giá trị lớn nhất |
---|---|---|
datetime(3.33 milliseconds accuracy) | Jan 1, 1753 | Dec 31, 9999 |
smalldatetime(1 minute accuracy) | Jan 1, 1900 | Jun 6, 2079 |
date(1 day accuracy. Introduced in SQL Server 2008) | Jan 1, 0001 | Dec 31, 9999 |
datetimeoffset(100 nanoseconds accuracy. Introduced in SQL Server 2008) | Jan 1, 0001 | Dec 31, 9999 |
datetime2(100 nanoseconds accuracy. Introduced in SQL Server 2008) | Jan 1, 0001 | Dec 31, 9999 |
time(100 nanoseconds accuracy. Introduced in SQL Server 2008) | 00:00:00.0000000 | 23:59:59.9999999 |
4. Character Strings
Là kiểu ký tự và không hỗ trợ tiếng Việt.
Số thứ tự | Kiểu và mô tả |
---|---|
1 | char: Chiều dài cố định và tối đa là 8000 ký tự, không hỗ trợ uniccode |
2 | varchar: Chiều dài cố định và tối đa là 8000 ký tự, không hỗ trợ unicode |
3 | Varchar (max): Chiều dài cố định và tối đa là 251 ký tự, không hỗ trợ unicode |
4 | text: Chiều dài cố định và tối đa là 2,147,483,647 characters, không hỗ trợ unicode |
5. Unicode Character Strings
Là kiểu ký tự, nó có hỗ trợ tiếng Việt nên thông thường với tiếng Việt thì ta nên chọn kiểu này.
Số thứ tự | Kiểu và mô tả |
---|---|
1 | nchar: Chiều dài cố định và tối đa là 4000 ký tự, có hỗ trợ unicode |
2 | nvarchar: Chiều dài cố định và tối đa là 4000 ký tự, có hỗ trợ unicode |
3 | Nvarchar (max): Chiều dài cố định và tối đa là 230 ký tự, có hỗ trợ unicode |
4 | ntext: Chiều dài cố định và tối đa là 1,073,741,823 ký tự, có hỗ trợ unicode. |
6. Binary Strings
Kiểu này lưu trữ dữ liệu dạng binary, có thể là file ảnh hoặc một file bất kì. Kiểu này rất ít khi sử dụng bởi nếu bạn lưu những file nặng vài MB thì quả là kinh khủng.
Số thứ tự | Kiểu và mô tả |
---|---|
1 | binary: Chiều dài cố định và tối đa là 8,000 bytes. |
2 | varbinary: Chiều dài cố định và tối đa là 8,000 bytes. |
3 | varbinary(max): Chiều dài cố định và tối đa là 231 bytes. |
4 | image: Chiều dài cố định và tối đa là 2,147,483,647 bytes. |
Ngoài ra còn có nhiều loại dữ liệu khác như: timestamp, xml, table, cursor, ... nhưng mình sẽ không đề cập ở bài này, thực tế chỉ có timestamp là dùng nhiều chứ mấy kiểu còn lại rất ít khi dùng, ngay cả khi lưu trữ XML thì bạn cũng dùng text để thay thế.
Trên là các kiểu dữ liệu được sử dụng trong SQL Server, nếu bạn đang học MySQL hay Oracle thì có thể đọc trên trang tài liệu của nó vì ở đó khá chi tiết. Bài này mình xin dừng ở đây, hẹn gặp lại các bạn ở bài tiếp theo và sẽ là những bài cực kì hấp dẫn với các câu truy vấn.
Cùng chuyên mục:
Phiên làm việc là gì trong SQL
Trong bài viết này mình sẽ giải thích phiên làm việc là gì trong SQL…