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

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

Trong hướng dẫn này, bạn sẽ học cách sử dụng kiểu dữ liệu VARCHAR trong SQL Server để lưu trữ dữ liệu chuỗi có độ dài thay đổi, không phải Unicode.

Tổng quan về kiểu dữ liệu VARCHAR trong SQL Server

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

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

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 LENDATALENGTH như được hiển thị trong truy vấn sau:

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

Kết quả:

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

Trong hướng dẫn này, bạn đã học cách sử dụng kiểu dữ liệu VARCHAR trong SQL Server để lưu trữ dữ liệu có độ dài thay đổi, không phải Unicode trong cơ sở dữ liệu.

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 *