T-SQL Binary Comparison - CAST Operator

by Yasin Sirkecili 23. Ekim 2009 14:34

Herkese merhabalar bu yazımızda SQL Server kullanan geliştiriciler için case sensitive karşılaştırmaların nasıl yapılacağına değineceğim;

Bildiğiniz gibi MSSQL Server kurulumu esnasında Collation konfigürasyonunda herhangi bir ayarlama yapmaksızın default olarak kurduğunuz SQL Server ile oluşturduğunuz tablo verileri içerisinde çalıştırdığınız sorgular insensitive olarak çalışmaktadır. Bu durumda geliştirdiğimiz uygulamalar içerisinde parola doğruma noktasında sıkıntı yaratmaktadır.

MSSQL ile oluşturduğunuz tablolarda kolonlara göre sorgularınızın case sensitive/insensitive olarak çalışmasını kolaylıkla konfigüre edebilirsiniz. Bunun için ilgili tablonun Design modunda kolonun Collation ayarlarına gelerek Case Sensitive checkbox'ını seçili konuma getirmeniz yeterlidir.

Ancak sorgularınızın dinamik oluştuğu durumlarda veya SQL Server yönetiminin elinizde olmadığı durumlarda bu işlemleri T-SQL ile nasıl gerçekleştirebiliriz ona bakalım;

DECLARE @Name nvarchar(50)
SET @NAME = 'yasin'
select * from WebUsers where CAST(Name as binary)=CAST(@NAME as binary);

Burda kullandığımız method basitçe şöyle izah edilebilir. Hem Kolonda bulunan verileri hemde gönderdiğimiz parametreyi binary tipine dönüştürüyoruz. SQL Server'a ait bu karşılaştırmayı yapan CPU için büyük ve küçük karakterler farklı kod dizilimleri yaratacağından birbiriyle case sensitive olarak eşleşmeyen verilere ait sonuçlar dönmeyecektir.

kolay gelsin...

5 kişi tarafından 4.2 olarak değerlendirildi

  • Currently 4,2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

MSSQL | T-SQL

Yorumlar

Yorum ekle


(Gravatar simgesini gösterecek)  

  Country flag

biuquote
  • Yorum
  • Canlı önizleme
Loading



Powered by BlogEngine.NET 1.4.5.0
Theme by Mads Kristensen

Yasin Sirkecili


Yasin Sirkecili
Software Developer
MSN: yasin@sirkecili.com

Bağlantılar

Calendar

<<  Eylül 2010  >>
PaSaÇaPeCuCuPa
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

Son Yorumlar

RecentPosts

Bağlantılar 2