kieu-du-lieu-trong-sql

SQL – Kiểu dữ liệu trong SQL

Kiểu dữ liệu trong SQL định nghĩa một kiểu giá trị mà một cột có thể chứa. Trong một bảng, mỗi cột cần có một tên và một kiểu dữ liệu. Kiểu dữ liệu thì khá đa dạng với các Database khác nhau. Ví dụ, MySQl hỗ trợ kiểu INT nhưng Oracle hỗ trợ kiểu NUMBER cho các giá trị nguyên.

Bạn sẽ sử dụng những kiểu dữ liệu này trong khi tạo các bảng của mình. Bạn sẽ chọn một kiểu dữ liệu cụ thể cho một cột trong bảng dựa trên yêu cầu của mình.

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ệuKích thước tối đaGiải thích
CHAR(kich_thuoc)Tối đa 8000 kí tự.kich_thuoc là số kí tự lưu trữ.Độ dài cố định.Thêm dấu cách về bên phải để bù phần trống cho đủ số kí tự.Không chứa kí tự Unicode.
VARCHAR(kich_thuoc) hoặc VARCHAR(toi_da)Tối đa 8000 kí tự hoặc theo số tối đa.kich_thuoc là số kí tự lưu trữ.Độ dài tùy biến.Nếu chỉ định là toi_da thì tối đa là 2GB.Không chứa kí tự Unicode.
TEXTTối đa 2GB.Độ dài tùy biến.Không chứa kí tự Unicode.
NCHAR(kich_thuoc)Tối đa 4000 kí tự.Độ dài cố định.Kí tự Unicode.
NVARCHAR(kich_thuoc) hoặc NVARCHAR(toi_da)Tối đa 4000 kí tự hoặc theo số tối đa.kich_thuoc là số kí tự lưu trữ.Độ dài tùy biến.Nếu số toi_da được chi định thì số kí tự tối đa là 2GB.Kí tự Unicode.
NTEXTTối đa 1.073.741.823 byte.Độ dài tùy biến.Kí tự Unicode.
BINARY(kich_thuoc)Tối đa 8000 kí tự.kich_thuoc là số kí tự lưu trữ.Độ dài cố định.Thêm dấu cách để bù phần trống cho đủ số kí tự.Dữ liệu nhị phân.
VARBINARY(kich_thuoc) hoặc VARBINARY(toi_da)Tối đa 8000 kí tự hoặc theo số tối đa.kich_thuoc là số kí tự lưu trữ.Độ dài tùy biến.Nếu chỉ định là toi_da thì tối đa là 2GB.Dữ liệu nhị phân.
IMAGEkích thước tối đa là 2GB.Độ dài tùy biến.Dữ liệu nhị phân.

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ệuKích thước tối đaGiải thích
BITsố nguyên 0, 1 hoặc NULL
TINYINTtừ 0 đến 255
SMALLINTtừ -32768 đến 32767
INT-2,147,483,648 đến 2,147,483,647
BIGINTtừ -9,223,372,036,854,775,808 đến 9,223,372,036,854,775,807
DECIMAL(m,d)m mặc định là 18 nếu không được chỉ định cụ thể.d mặc định là 0 nếu không được chỉ định cụ thể.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 mặc định là 18 nếu không được chỉ định cụ thể.d mặc định là 0 nếu không được chỉ định cụ thể.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 mặc định là 18 nếu không được chỉ định cụ thể.d mặc định là 0 nếu không được chỉ định cụ thể.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.
REALtương đương với FLOAT(24)
SMALLMONEYtừ – 214,748.3648 đến 214,748.3647
MONEYtừ -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ệuKích thước tối đaGiải thích
DATEgiá trị từ ‘0001-01-01’ đến ‘9999-12-31.hiển thị dưới dạng ‘YYYY-MM-DD’
DATETIMENgày lấy từ ‘1753-01-01 00:00:00’ to ‘9999-12-31 23:59:59’.Giờ lấy từ ’00:00:00′ to ’23:59:59:997′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)giá trị lấy từ ‘0001-01-01’ đến ‘9999-12-31′.Thời gian lấy từ ’00:00:00′ đến ’23:59:59:9999999’.hiển thị dưới dạng ‘YYYY-MM-DD hh:mm:ss[.số giây thập phân]’
SMALLDATETIMEgiá trị lấy từ ‘1900-01-01’ đến ‘2079-06-06′.Thời gian lấy từ ’00:00:00′ đến ’23:59:59’.hiển thị dưới dạng ‘YYYY-MM-DD hh:mm:ss
TIMEgiá trị lấy từ ’00:00:00.0000000′ đến ’23:59:59.9999999′.Ngày lấy từ ‘0001-01-01’ đến ‘9999-12-31’.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)giá trị thời gian lấy từ ’00:00:00′ đến ’23:59:59:9999999′.Múi giờ lấy từ -14:00 đến +14:00.hiển thị dưới dạng YYYY-MM-DD hh:mm:ss[.nnnnnnn]’ [{+|-}hh:mm]

Trên đây là lý thuyết về kiểu dữ liệu trong SQL. Mong rằng sẽ giúp ích cho bạn. Chúc bạn học tốt.

Xem thêm:

Sự khác nhau giữa HTTP và HTTPS

10 phương pháp tự học lập trình

Học PHP

SQL là gì? Tổng quan về SQL

Transaction trong SQL

Cách sử dụng Google để có kết quả tìm kiếm tốt hơn

Học JavaScript


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

Bài viết liên quan

Leave a Reply

Your email address will not be published.

TÀI LIỆU DEV WORLD
Cẩm nang phát triển bền vững với nghề lập trình!