SQL Server’da Varchar ve Nvarchar Veri Tipleri Arasındaki Farklar

SQL Server'da Varchar ve Nvarchar Veri Tipleri Arasındaki Farklar

Herkese merhaba,

Bu başlık altında SQL Server’da Varchar ve Nvarchar veri tipleri arasındaki farkları inceleyeceğiz.

Varchar[(n)]

Temel Tanım

Unicode olmayan değişken uzunluk karakteri veri türü.
Örnek:
DECLARE @Ad AS VARCHAR(50) =’Yavuz Selim’
SELECT @Ad

Her Karakter için Gerekli Byte Sayısı

Her karakter için 1 byte yer kaplar.
Örnek:
DECLARE @Ad AS VARCHAR(50) = ‘Yavuz ve Pelin’
SELECT @Ad AS Adınız,
DATALENGTH(@Ad) AS Uzunluk
Sonuç:
Ad Uzunluk
Yavuz ve Pelin 14

İsteğe Bağlı Parametre Aralığı

İsteğe bağlı parametre değeri 1 ile 8000 arasında olabilir. Unicode olmayan maksimum karakterleri depolayabilirsiniz.

Değişken Bildiriminde veya Sütun Tanımında İsteğe Bağlı Parametre Belirtilmemişse

İsteğe bağlı parametre değeri n değişken bildiriminde veya sütun tanımında belirtilmemişse 1 olarak kabul edilir.
Örnek:
DECLARE @Ad
VARCHAR =’Yavuz Selim’
SELECT @Ad Ad ,DATALENGTH(@Ad)
Uzunluk
Sonuç :
Ad, Uzunluk
Y 1

İsteğe Bağlı Parametre Kullanırken Belirtilmiş CAST/CONVERT Fonksiyonları

Bu isteğe bağlı parametre n, CAST / CONVERT işlevlerini kullanırken belirtilmediğinde, 30 olarak kabul edilir.
Örnek:
DECLARE
@ad VARCHAR(35)=
‘Yavuz Selim ve
Pelin İstanbul Konya Artvin Türkiye’
SELECT CAST(@ad AS VARCHAR) Ad,
DATALENGTH
(CAST(@ad AS VARCHAR)) Uzunluk

Sonuç:
Ad Uzunluk
Yavuz Selim ve Pelin İstanbul  30

Hangisini Kullanmalıyım?

Sütun içinde saklanacak verilerin Unicode karakterler olmadığını biliyorsak kullanmalıyız.

Depolama Boyutu

Girilen karakterlere karşılık tanımlanan değer kadar byte alır.

NVarchar[(n)]

Temel Tanım

Unicode Değişken Boyu
karakteri veri türü. Hem Unicode olmayan hem de Unicode (yani Japonca,
Korece vb.) Karakterler depolayabilirsiniz.
Örnek:
DECLARE @Ad AS NVARCHAR(50)= ‘Pelin’
SELECT @Ad

Her Karakter için Gerekli Byte Sayısı

Unicode / Unicode olmayan karakter başına 2 byte yer kaplar.
Örnek:
DECLARE @Ad AS NVARCHAR(50)=
‘Yavuz Selim Kart’
SELECT @Ad AS Adınız,
DATALENGTH(@Ad)
AS Uzunluk
Sonuç:
Adınız Uzunluk
Yavuz Selim Kart 32

İsteğe Bağlı Parametre Aralığı

İsteğe Bağlı Parametre değeri 1 ile 4000 arasında olabilir. Unicode ya da Unicode olmayan 4000 karakteri depolayabilirsiniz.

Değişken Bildiriminde veya Sütun Tanımında İsteğe Bağlı Parametre Belirtilmemişse

İsteğe bağlı parametre değeri n değişken bildiriminde veya sütun tanımında belirtilmemişse 1 olarak kabul edilir.
Örnek:
DECLARE @Ad
NVARCHAR =’Yavuz Selim’
SELECT @Ad Ad, DATALENGTH(@Ad)
Uzunluk
Sonuç:
Ad Uzunluk
Y 2

İsteğe Bağlı Parametre Kullanırken Belirtilmiş CAST/CONVERT Fonksiyonları

CAST CONVERT işlevlerini kullanırken isteğe bağlı parametre n belirtilmediğinde, 30 olarak kabul edilir.
Örnek:
DECLARE @ad
NVARCHAR(35)=
‘Yavuz Pelin Yavuz
Pelin Yavuz Pelin
Yavuz Pelin’
SELECT CAST(@ad AS NVARCHAR) Ad,
DATALENGTH
(CAST(@ad AS NVARCHAR)) Uzunluk
Sonuç:
Ad Uzunluk
Yavuz Pelin Yavuz
Pelin Yavuz  60

Hangisini Kullanmalıyım?

Sütun içinde saklanacak verilerin Unicode karakterlere sahip olabileceğini biliyorsak kullanmalıyız.

Depolama Boyutu

Girilen karakterlere karşılık tanımlanan değerin iki katı kadar byte alır.

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