Các kiểu dữ liệu trong SQL Server

Dưới đây là các kiểu dữ liệu (loại dữ liệu) trong SQL Server, gồm chuỗi kí tự, số và thời gian/ngày tháng.

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ự.
  • 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.
TEXT Tố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.
NTEXT Tố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.
IMAGE kí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 trong SQL 

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 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.
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 
  • Ngà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]'
SMALLDATETIME 
  • giá 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
TIME 
  • giá 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]

Bài trước: Mệnh đề PIVOT trong SQL Server

Bài sau: Lệnh CREATE TABLE trong SQL Server

Thứ Sáu, 10/05/2019 09:29
4,54 👨 16.458