DATALENGTH Fonksiyonu


Warning: Undefined array key "tie_hide_meta" in /home2/varbeyac/public_html/wp-content/themes/sahifa/framework/parts/meta-post.php on line 3

Warning: Trying to access array offset on value of type null in /home2/varbeyac/public_html/wp-content/themes/sahifa/framework/parts/meta-post.php on line 3

DATALENGTH Fonksiyonu

DATALENGTH fonksiyonu, SQL Server’da belirli bir sütunun veya değerin kapladığı byte miktarını döndüren bir fonksiyondur. Özellikle, veri tabanındaki tabloların veya sütunların kapladığı alanı öğrenmek istediğinizde sıklıkla kullanılan bir fonksiyondur. DATALENGTH fonksiyonu kullanımı, genellikle string veri tiplerinin boyutlarını hesaplamak için tercih edilir. Bunun yanında, veritabanı ve tablo boyutlarını analiz etmek için de ideal bir araçtır. Len fonksiyonu ile karıştırılmaması gerekir; çünkü DATALENGTH, karakter sayısı yerine byte uzunluğunu döndürür.

DATALENGTH Fonksiyonu Kullanımı

Fonksiyonun temel sözdizimi şu şekildedir:

DATALENGTH ( sütun_adı_veya_değer )

Dönüş Tipleri:

  • Eğer ifade varchar(max), nvarchar(max) veya varbinary(max) gibi veri tiplerinden biriyse, dönüş tipi bigint olacaktır.
  • Diğer durumlarda dönüş tipi int olacaktır.

DATALENGTH ile Veri Tiplerine Göre Hesaplama

  • CHAR ve VARCHAR: Her karakter 1 byte olarak hesaplanır.
  • NCHAR ve NVARCHAR: Her karakter 2 byte olarak hesaplanır.
  • VARBINARY: Depolanan verinin byte sayısı döner.

Bu özellikler sayesinde DATALENGTH, verilerin fiziksel depolama boyutunu ölçmek için idealdir.

DATALENGTH Fonksiyonunun Örnek Kullanımı

Aşağıda, bir sütunun kapladığı byte miktarını hesaplayan basit bir örnek verilmiştir:

SELECT DATALENGTH(sütun_adı) AS ByteUzunluğu
FROM tablo_adı;

Daha gelişmiş bir örnek için AdventureWorks veritabanını kullanalım:

-- Uses AdventureWorks
SELECT DISTINCT DATALENGTH(FirstName) AS ByteUzunluğu,
FirstName,
LastName
FROM dbo.DimEmployee AS e
INNER JOIN dbo.DimGeography AS g
ON e.SalesTerritoryKey = g.SalesTerritoryKey
WHERE EnglishCountryRegionName = 'Australia';

Bu sorgu, çalışanların adlarının kaç byte yer kapladığını hesaplar ve isim-soyisim bilgilerini döndürür.

DATALENGTH ile LEN Fonksiyonu Arasındaki Fark

  • LEN Fonksiyonu: Karakter sayısını döndürür ve son boşlukları hesaba katmaz.
  • DATALENGTH Fonksiyonu: Byte uzunluğunu döndürür ve son boşluklar dahil tüm karakterleri hesaba katar.

Bu fark, özellikle Unicode karakterler içeren veritabanlarında önemlidir. Örneğin, NVARCHAR veri tipinde her karakter 2 byte olarak hesaplanır.

DATALENGTH Fonksiyonunun Kullanım Alanları

  1. Veritabanı Analizi: Tabloların ve sütunların depolama alanını hesaplamak için kullanılır.
  2. Veri Doğrulama: Karakterlerin fiziksel boyutunu kontrol etmek için idealdir.
  3. Performans Optimizasyonu: Büyük veri kümelerinde depolama alanı yönetimini kolaylaştırır.

Check Also

SQL Nedir? SQL Server ve Veritabanı Yönetim Sistemlerine Giriş

SQL, yani Structured Query Language, Türkçe anlamıyla yapılandırılmış sorgu dili, veritabanı yönetimi için geliştirilmiş standart …

Bir yanıt yazın