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

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 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]