Kiểu dữ liệu varchar trong SQL Server

Việc hiểu rõ từng kiểu dữ liệu trong SQL sẽ giúp bạn làm chủ chương trình, cơ sở dữ liệu một cách dễ dàng, nhanh chóng, đặc biệt là khi truy vấn hay sử dụng. Trong số các kiểu dữ liệu thì varchar được sử dụng phổ biến, nhiều hơn cả. Vậy thì kiểu dữ liệu varchar trong SQL là gì? Cùng theo dõi bài viết này của Comdy để biết thêm thông tin chi tiết nhé.

Kiểu dữ liệu VARCHAR trong SQL Server – What is varchar in SQL?

Kiểu dữ liệu varchar trong SQL Server
VARCHAR là một kiểu dữ liệu dùng để lưu trữ các chuỗi ký tự có độ dài biến đổi

Varchar trong sql là gì?

Kiểu dữ liệu varchar là gì? VARCHAR là một kiểu dữ liệu dùng để lưu trữ các chuỗi ký tự có độ dài biến đổi. Tên đầy đủ của VARCHAR là “variable character” (ký tự biến đổi). Kiểu dữ liệu sql varchar cho phép lưu trữ các chuỗi ký tự có độ dài khác nhau mà không cần phải dùng đến một khoảng lưu trữ cố định như kiểu dữ liệu CHAR.

Kiểu dữ liệu VARCHAR trong SQL Server được sử dụng để lưu trữ dữ liệu chuỗi có độ dài thay đổi, không phải Unicode. Sau đây minh họa cú pháp:

VARCHAR(n)

Trong cú pháp này, n xác định độ dài chuỗi nằm trong khoảng từ 1 đến 8.000. Nếu bạn không chỉ định n, giá trị mặc định của nó là 1.

Một cách khác để khai báo một cột kiểu varchar sql là sử dụng cú pháp sau:

VARCHAR(max)

Trong cú pháp này, max xác định kích thước lưu trữ tối đa là 2 31 -1 byte (2 GB).

Nói chung, kích thước lưu trữ của một giá trị VARCHAR là chiều dài thực của dữ liệu được lưu trữ cộng với 2 byte.

ISO synonym của VARCHAR là CHARVARYING hoặc CHARACTERVARYING, do đó, bạn có thể sử dụng chúng thay thế cho nhau.

Ví dụ về kiểu dữ liệu VARCHAR trong SQL Server

Ví dụ về kiểu dữ liệu varchar trong SQL
Ví dụ cụ thể về kiểu dữ liệu VARCHAR trong SQL Server

Câu lệnh sau tạo một bảng mới chứa một cột kiểu varchar sql server:

CREATE TABLE test.sql_server_varchar (
    val VARCHAR NOT NULL
);

Bởi vì chúng ta không chỉ định độ dài chuỗi của cột val, nó được mặc định là 1.

Để thay đổi độ dài chuỗi của cột val, bạn sử dụng câu lệnh ALTER TABLE ALTER COLUMN:

ALTER TABLE test.sql_server_varchar 
ALTER COLUMN val VARCHAR (10) NOT NULL;

Câu lệnh sau đây chèn một chuỗi mới vào cột val của bảng test.sql_server_varchar:

INSERT INTO test.sql_server_varchar (val)
VALUES ('SQL Server');

Câu lệnh hoạt động như mong đợi vì giá trị chuỗi có độ dài bằng chiều dài được chỉ định trong định nghĩa cột.

Câu lệnh sau cố gắng chèn một dữ liệu chuỗi mới có độ dài lớn hơn độ dài chuỗi của cột:

INSERT INTO test.sql_server_varchar (val)
VALUES ('SQL Server VARCHAR');

SQL Server đã phát hành lỗi và chấm dứt câu lệnh:

String or binary data would be truncated.
The statement has been terminated.

Để tìm số ký tự và số byte giá trị được lưu trữ trong cột kiểu VARCHAR, bạn sử dụng hàm LEN và DATALENGTH như được hiển thị trong truy vấn sau:

SELECT
    val,
    LEN(val) len,
    DATALENGTH(val) data_length
FROM
    test.sql_server_varchar;

Varchar(255) là gì?

VARCHAR(255) là một kiểu dữ liệu chuỗi ký tự (string) với độ dài biến đổi, và độ dài tối đa của chuỗi được giới hạn là 255 ký tự.

Điều này có nghĩa là bạn có thể lưu trữ các chuỗi ký tự có độ dài từ 0 đến 255 ký tự trong cột có kiểu dữ liệu VARCHAR(255).

Nêu ý nghĩa của kiểu dữ liệu varchar n

Ý nghĩa của kiểu dữ liệu varchar n
Sử dụng kiểu dữ liệu varchar n giúp tiết kiệm không gian, phù hợp với chuỗi có độ dài biến đổi, hiệu suất tìm kiếm sắp xếp tốt và quản lý được các chuỗi ký tự có độ dài khác nhau

Kiểu dữ liệu varchar(n) (Variable Character) trong SQL được sử dụng để lưu trữ các chuỗi ký tự có độ dài biến đổi. Cụ thể, ý nghĩa của kiểu dữ liệu varchar trong sql đó là:

  • Tiết kiệm không gian lưu trữ: Varchar in sql server chỉ sử dụng độ dài cần thiết để lưu trữ dữ liệu thực tế, không như CHAR mà luôn sử dụng độ dài cố định. Điều này giúp giảm lượng dữ liệu trống (padding) và tiết kiệm không gian lưu trữ.
  • Phù hợp cho chuỗi có độ dài biến đổi: Khi bạn không biết chính xác độ dài của dữ liệu mà bạn muốn lưu trữ, kiểu varchar trong sql là lựa chọn phù hợp vì nó linh hoạt và không gây lãng phí không gian.
  • Hiệu suất tìm kiếm và sắp xếp: Trong một số trường hợp, việc sử dụng VARCHAR có thể dẫn đến hiệu suất tốt hơn so với CHAR, vì không cần phải xử lý nhiều dữ liệu trống.
  • Quản lý chuỗi ký tự có độ dài khác nhau: VARCHAR thường được sử dụng để lưu trữ các giá trị chuỗi có độ dài không đồng đều, như tên, địa chỉ, mô tả, và các thông tin khác.

VARCHAR cung cấp một phương tiện linh hoạt để lưu trữ các chuỗi ký tự có độ dài biến đổi, đồng thời giảm lãng phí không gian lưu trữ so với các kiểu dữ liệu cố định.

Sự khác nhau giữa char và varchar trong SQL server

Sự khác nhau giữa char và varchar trong SQL
Kiểu dữ liệu char và varchar trong SQL server khác nhau như thế nào?

Đây là 2 kiểu dữ liệu được sử dụng rất phổ biến trong các chương trình. CHAR và VARCHAR đều là hai kiểu dữ liệu chuỗi ký tự trong SQL, nhưng có sự khác nhau quan trọng về cách chúng lưu trữ và quản lý bộ nhớ:

Độ dài lưu trữ

CHAR: Kiểu char trong sql lưu trữ một chuỗi ký tự với độ dài cố định. Khi bạn khai báo một cột CHAR( n), n là độ dài cố định và mọi giá trị được lưu trữ với độ dài chính xác là n.

VARCHAR: Lưu trữ một chuỗi ký tự với độ dài biến đổi. Khi bạn khai báo một cột VARCHAR( n), n là độ dài tối đa và mỗi giá trị được lưu trữ chỉ chiếm không gian thực sự cần thiết, không có độ dài cố định.

Không gian lưu trữ

CHAR: Cố định độ dài, nên có thể dẫn đến lãng phí không gian nếu giá trị chuỗi không đạt đến độ dài tối đa. Bất kỳ khoảng trống nào không được sử dụng để lưu trữ chuỗi thì sẽ được điền vào bằng khoảng trắng (padding).

VARCHAR: Tiết kiệm không gian lưu trữ bằng cách chỉ sử dụng độ dài cần thiết để lưu trữ dữ liệu thực tế.

Tìm kiếm và sắp xếp

CHAR: Có thể nhanh hơn trong các hoạt động tìm kiếm và sắp xếp vì độ dài cố định giúp đơn giản hóa quá trình xử lý.

VARCHAR: Có thể yêu cầu thêm công việc xử lý để quản lý độ dài biến đổi, nhưng thường tiết kiệm không gian và có hiệu suất tốt trong các trường hợp có nhiều dữ liệu trống.

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

Kiểu dữ liệu text trong SQL
TEXT thường được sử dụng khi cần lưu trữ các chuỗi với độ dài lớn mà không cần quan tâm đến giới hạn cụ thể về độ dài.
Kiểu dữ liệu TEXT trong SQL server được sử dụng để lưu trữ các chuỗi ký tự có độ dài biến đổi. TEXT thường được sử dụng khi cần lưu trữ các chuỗi với độ dài lớn mà không cần quan tâm đến giới hạn cụ thể về độ dài.

Kiểu dữ liệu TEXT cho phép lưu trữ chuỗi với độ dài biến đổi, không có giới hạn cụ thể về độ dài của chuỗi.

Ngoài ra, bạn không cần phải khai báo độ dài khi sử dụng TEXT. Chính điều này đã làm kiểu dữ liệu text phù hợp để lưu trữ dữ liệu với độ dài không biết trước.

Kết lại

Trên đây là toàn bộ chia sẻ của Comdy.vn – Nơi chia sẻ kiến thức, kinh nghiệm từ các chuyên gia hàng đầu về kiểu dữ liệu varchar trong sql. Hi vọng những thông tin, kiến thức trong bài viết này sẽ giúp bạn áp dụng vào công việc, học tập một cách hiệu quả. Xin cám ơn vì đã theo dõi, ủng hộ bài viết.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *