SQL Server’da Len ve Datalength Fonksiyonları Arasındaki Farklar

SQL Server'da Len ve Datalength Fonksiyonları Arasındaki Farklar

Herkese merhaba,

Bu başlık altında SQL Server’da Len ve Datalength fonksiyonları arasındaki farkları inceleyeceğiz.

  1. Len fonksiyonu belirtilen dize ifadesindeki karakter sayısını döndürürken, Datalength fonksiyonu kullanılan byte sayısını döndürür.
  2. Len fonksiyonu karakter sayısını hesaplarken takip eden boşlukları hariç tutar, Datalength fonksiyonu kullanılan bayt sayısını hesaplarken izleyen boş alanları da hesaplar.
  3. Len fonksiyonu her zaman karakter sayısını sayarken Unicode olup olmadığına bakmaz, Datalength fonksiyonu ise Unicode karakterler için 2 ile çarparak hesaplama işlemini yapar.
  4. Text, Ntext ve Image veri tiplerinde Len fonksiyonu kullanılamazken Datalength fonksiyonu kullanılabilir.

Konuyu daha iyi anlamak adına örnekler yapalım.

Örnek 1 


İlk örnekte görüldüğü üzere Varchar(20) veri girilmesinin de etkisi ile Datalength fonksiyonunda 15 byte’lık bir dönüş işlemi yaptı. Len fonksiyonu her iki ifade için de 11 byte bir ifade döndü. Char(20) veri girilmesinin de etkisi ile Datalength fonksiyonu 20 byte’lık bir hesaplama yaptı. Çünkü Char veri tipinde 5 karakterde girseniz 20 birimlik bir alan açılır.

Örnek 2


Görüldüğü üzere Len fonksiyonu hesaplamada boşlukları saymadığı için 10 byte’lık bir sonuç bize döndürecektir. Datalength fonksiyonu ise boşlukları da dahil ederek bize 15 byte’lık bir sonuç döndürecektir.

Örnek 3


Görüldüğü üzere Len fonksiyonu Unicode olup olmadığına bakmaz. Bize 5 byte’lık bir sonuç döndürür. Datalength fonksiyonu ise bize 10 byte’lık bir sonuç döndürecektir.

Örnek 4


Görüldüğü üzere Len fonksiyonu Unicode karakter olup olmadığını bakmaksızın bize girilen değer kadar sonuç döndürdü. Datalength fonksiyonu ise Unicode karakter olduğunuz göz önünde bulundurarak bize 10 byte’lık bir sonuç döndürdü.

Örnek 5


Görüldüğü üzere Len fonksiyonu Unicode karakter olup olmadığını bakmaksızın bize girilen değer kadar sonuç döndürdü. Boşluk ifadelerini Len fonksiyonu saymadı ve 5 byte’lık sonuç karşımıza geldi. Datalength fonksiyonu ise Unicode karakter olduğunu göz önünde bulundurarak ve boşluk değerlerini de sayarak bize 20 byte’lık bir sonuç döndürdü.

Örnek 6


Görüldüğü üzere Len fonksiyonunu text veri tiplerinde kullanamazken Datalength fonksiyonunu text veri tipinde başarı ile kullanıp sonucu alabiliyoruz.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever. – Grafik tasarım dünyasında Indesign’ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator’e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever. -WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever. -Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever. Kısaca çok çalışmayı seven, azimli biriyim.

Yazıyı Oylayın

0/50 ratings

Yazıyı Paylaşın

SQL Server Eğitimleri Kanalına Abone Olun

İlişkili Yazılar

Kimler Neler Demiş?

avatar
 
smilegrinwinkmrgreenneutraltwistedarrowshockunamusedcooleviloopsrazzrollcryeeklolmadsadexclamationquestionideahmmbegwhewchucklesillyenvyshutmouth
  Subscribe  
Bildir