SQL Server : Memperoleh Ukuran Data dalam Byte Menggunakan Fungsi DATALENGTH()

Kita dapat mendapatkan panjang string dengan fungsi LEN(), tetapi fungsi tersebut tidak mewakili besaran nilai (bytes) yang tersimpan di database. Untuk mengetahui berapa ukuran byte suatu nilai data kita dapat menggunakan fungsi LENGTH().

Fungsi DATALENGTH() mengembalikan jumlah byte yang digunakan untuk mewakili ekspresi. 

Rani pernah membuat artikel tentang perbedaan VARCHAR dan NVARCHAR, dimana salah satunya adalah bagaimana cara kedua data ini menyimpan nilai dalam byte. Satu karakter VARCHAR memiliki ukuran 1 byte sementara 1 karakter NVARCHAR berukuran 2 bytes.

DECLARE @String1 VARCHAR(50) = 'Rani Irsan'
DECLARE @String2 NVARCHAR(50) = 'Rani Irsan'

SELECT DATALENGTH(@String1) AS [VarcharByte], DATALENGTH(@String2) AS [NVarcharByte]



Jika fungsi LEN() hanya menghitung spasi di awal saja, fungsi DATALENGTH() menghitung spasi awal dan akhir saat menghitung panjang ekspresi.

DECLARE @String VARCHAR(50) = 'Rani Irsan   '
SELECT DATALENGTH(@String) AS [DataLength], LEN(@String) AS [Len]




Post a Comment

0 Comments