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

Thứ tư - 23/08/2023 09:33

Các kiểu dữ liệu trong SQL khá đa dạng. Hãy cùng Quantrimang.com tìm hiểu các kiểu dữ liệu, bao gồm cả numeric trong SQL nhé!

Trong SQL Server, mỗi cột, biến cục bộ, biểu thức và tham số đều có một kiểu dữ liệu liên quan. Một kiểu dữ liệu là một thuộc tính xác định kiểu dữ liệu mà đối tượng có thể nắm giữ, bao gồm: dữ liệu số nguyên, ký tự, tiền tệ, ngày & thời gian, chuỗi nhị phân…

SQL Server cung cấp một tập hợp các kiểu dữ liệu hệ thống xác định tất cả các kiểu dữ liệu có thể được sử dụng với SQL Server. Bạn cũng có thể chỉ định các kiểu dữ liệu riêng trong Transact-SQL hoặc Microsoft.NET Framework.

Nhìn chung, datatype là một phân loại dữ liệu, cho trình biên dịch biết loại dữ liệu nào lập trình viên lưu trữ. Hầu hết ngôn ngữ lập trình đều hỗ trợ các kiểu dữ liệu khác nhau, chẳng hạn như số nguyên, ký tự hoặc chuỗi, Boolean…

Kiểu dữ liệu SQL Server là gì?

Datatype đảm bảo kiểu dữ liệu mà cột hoặc biến có thể lưu trữ trong SQL Server. Khi tạo bảng hoặc biến bất kỳ, nó yêu cầu xác định kiểu dữ liệu sẽ lưu ngoài tên của từng cột. Ví dụ, trong SQL Server, mỗi bảng có nhiều cột và chứa kiểu dữ liệu cụ thể cho từng cột. Chúng có thể là số nguyên, float, varchar, Boolean…

Cách dùng datatype?

Bạn cần xác định kiểu dữ liệu trước cho từng cột của một bảng để đảm bảo kiểu dữ liệu mà nó có thể lưu trữ. Cấu hình kiểu dữ liệu cũng ngăn người dùng nhập bất kỳ thông tin không hợp lệ hoặc không mong muốn.

Khi gán kiểu dữ liệu phù hợp cho một cột, bạn có thể tận dụng bộ nhớ hiệu quả bằng cách phân bổ chỉ một số lượng bộ nhớ hệ thống cần cho dữ liệu trong cột liên quan.

Bạn có thể dùng những đặc điểm sau để xác định kiểu dữ liệu trong SQL Server:

  • Kiểu dữ liệu (cố định hoặc tùy biến) mà nó đại diện.
  • Dung lượng lưu trữ tùy thuộc vào giá trị, có độ dài cố định hoặc biến thiên.
  • Giá trị lưu trữ có thể được đánh chỉ mục hoặc không.
  • Cách SQL Server triển khai một so sánh giá trị của một kiểu dữ liệu cụ thể.

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

  • String - Chuỗi
  • Numeric - Số
  • Date and Time - Ngày và thời gian

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]

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

Kiểu dữ liệu

Mô tả

sql_variant

Chứa tới 8,000 byte dữ liệu của các kiểu khác nhau, ngoại trừ text, ntext, và timestamp

uniqueidentifier

Lưu trữ một mã định danh duy nhất trên toàn cục (GUID)

xml

Lưu trữ dữ liệu định dạng XML. Tối đa 2GB

cursor

Lưu trữ một tham chiếu tới con trỏ được dùng cho các hoạt động database

table

Lưu trữ một bộ kết quả để xử lý sau

Nguồn tin: Quantrimang.com:

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

  Ý kiến bạn đọc

THỐNG KÊ TRUY CẬP
  • Đang truy cập13
  • Máy chủ tìm kiếm2
  • Khách viếng thăm11
  • Hôm nay8,542
  • Tháng hiện tại164,244
  • Tổng lượt truy cập9,870,096
QUẢNG CÁO
Phan Thanh Phú
Quảng cáo 2
Liên kết site
Đăng nhập Thành viên
Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Thăm dò ý kiến

Bạn thấy Website cần cải tiến những gì?

Lịch Âm dương
Máy tính
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây