SQL Server DATALENGTH

Hiểu Về DATALENGTH Trong SQL Server

Trong SQL Server, hàm DATALENGTH được sử dụng để trả về số byte mà một giá trị chiếm dụng trong bộ nhớ. Điều này rất hữu ích khi bạn cần biết kích thước của một biến, cột dữ liệu hoặc một giá trị trong cơ sở dữ liệu.

Định Nghĩa

Hàm DATALENGTH trả về độ dài (tính bằng byte) của một chuỗi hoặc giá trị. Đối với các kiểu dữ liệu không phải chuỗi, nó sẽ trả về số byte mà giá trị đó chiếm giữ trong bộ nhớ.

Cú Pháp

Cú pháp của hàm DATALENGTH như sau:

DATALENGTH ( expression )

Trong đó, expression là giá trị hoặc cột mà bạn muốn đo độ dài.

Ví Dụ

Ví Dụ 1: Sử Dụng DATALENGTH Với Chuỗi

DECLARE @myString NVARCHAR(50) = N'Hello, World!'
SELECT DATALENGTH(@myString) AS LengthInBytes;

Kết quả sẽ trả về 26 byte, vì mỗi ký tự trong một chuỗi NVARCHAR chiếm 2 byte.

Ví Dụ 2: Sử Dụng DATALENGTH Với Kiểu Dữ Liệu VARCHAR

DECLARE @myString2 VARCHAR(50) = 'Hello, World!'
SELECT DATALENGTH(@myString2) AS LengthInBytes;

Kết quả sẽ trả về 13 byte, vì mỗi ký tự trong một chuỗi VARCHAR chiếm 1 byte.

Ví Dụ 3: Sử Dụng DATALENGTH Với Kiểu Dữ Liệu INTEGER

DECLARE @myInt INT = 12345
SELECT DATALENGTH(@myInt) AS LengthInBytes;

Kết quả sẽ trả về 4 byte, bởi vì kiểu dữ liệu INTEGER trong SQL Server luôn chiếm dụng 4 byte.

Ví Dụ 4: Sử Dụng DATALENGTH Trong Bảng Dữ Liệu

CREATE TABLE MyTable (
    ID INT,
    Name NVARCHAR(50)
);

INSERT INTO MyTable (ID, Name) VALUES (1, N'John Doe');
INSERT INTO MyTable (ID, Name) VALUES (2, N'Jane Smith');

SELECT ID, DATALENGTH(Name) AS LengthInBytes
FROM MyTable;

Kết quả sẽ trả về độ dài của giá trị Name cho từng bản ghi trong bảng MyTable.

Kết Luận

DATALENGTH là một hàm rất hữu ích trong SQL Server giúp bạn xác định kích thước của dữ liệu. Hiểu rõ cách sử dụng hàm này có thể giúp bạn tối ưu hóa truy vấn và quản lý bộ nhớ hiệu quả hơn trong các ứng dụng của mình.