Sự khác biệt chính: Trong các hệ thống cơ sở dữ liệu như SQL Server, Char và Varchar đều là các kiểu dữ liệu, trong đó char thực sự đề cập đến ký tự và Varchar đề cập đến ký tự biến. Cả hai đều được sử dụng để lưu trữ loại chuỗi giá trị với độ dài tối đa 8.000 ký tự. Kích thước lưu trữ của char giống như được khai báo trong khi giai đoạn thứ sáu của Varchar phụ thuộc vào byte của dữ liệu thực tế được nhập.
Chúng ta hãy lấy một ví dụ - nếu dữ liệu Char được khai báo theo cách: khai báo test Char (20) và test = "tests", thì thử nghiệm sẽ chiếm 7 byte đầu tiên và phần còn lại sẽ chứa đầy dữ liệu trống. Mặt khác, nếu một dữ liệu Varchar được khai báo theo cách: khai báo Varchar thử nghiệm (20) và test = kiểm thử, thì nó sẽ chỉ chiếm 7 + 2 byte.
Char nên được sử dụng khi độ dài của biến được biết, trong khi Varar chỉ nên được sử dụng khi độ dài không xác định. Char nhanh hơn Varchar, vì hệ thống Varchar dành thời gian để phát hiện thời gian để tìm ra phần cuối của chuỗi. Mặt khác, thời gian này không bị lãng phí trong Char.
So sánh giữa Char và Varchar:
Char | Varar | |
Hình thức đầy đủ | Tính cách | Ký tự biến (theo ngữ cảnh đến ký tự có độ dài thay đổi) |
Ý nghĩa | Được sử dụng để lưu trữ dữ liệu chuỗi không Unicode có độ dài cố định | Được sử dụng để lưu trữ dữ liệu chuỗi không Unicode có độ dài thay đổi |
Byte được sử dụng để lưu trữ | 1 byte mỗi ký tự | 1 byte cho mỗi ký tự và thêm 1 hoặc 2 byte để giữ thông tin độ dài |
Ứng dụng | Được sử dụng để lưu trữ dữ liệu như Số điện thoại, v.v. (mục nhập dữ liệu phù hợp.) | Được sử dụng để lưu trữ dữ liệu như Địa chỉ (mục nhập dữ liệu thay đổi phần lớn) |
Điều kiện: chuỗi đầu vào nhỏ hơn byte khai báo | Không gian không có bất kỳ ký tự nào sẽ được đệm bằng các ký tự khoảng trắng | Không gian không có bất kỳ ký tự nào sẽ không được đệm với bất kỳ ký tự nào |
Điều kiện: chuỗi đầu vào nhiều hơn byte khai báo | Chuỗi sẽ được cắt ngắn thành byte khai báo | Chuỗi sẽ được cắt ngắn thành byte được khai báo. |