Sql Server 2012 – Choose

Sql server 2012 ile beraberinde gelen bir diğer özellik ise Choose fonksiyonudur. Choose fonksiyonu parametre olarak gönderilen iki veya daha fazla değer arasından belirtilen indexteki değerin döndürülmesini sağlar. Sql server 2012 öncesi sürümlerde Case When ile de aynı işlemler yapılabilir. Choose fonksiyonu bizi Case When yapısının karmaşıklığından kurtarıyor. Konuyu daha iyi anlayabilmek için küçük bir örnek yapalım. Ben AdventureWorks veritabanında bulunan Production.Product tablosundaki ProductSubcategoryID kolonundaki değere göre ilgili kategorinin adını yazdıracağım. Sizde case when yapısını kullanacağınız durumlarda Choose fonksiyonunu tercih edebilirsiniz.

Kullanımı:

CHOOSE(index,d1,d2,[n])

[sql]

SELECT
ProductNumber,
ProductSubcategoryID,
CHOOSE(ProductSubcategoryID,’Mountain Bikes’,’Road Bikes’,’Touring Bikes’,’Handlebars’,’Bottom Brackets’) as [Choose]
FROM Production.Product WHERE ProductSubcategoryID BETWEEN 1 AND 5

[/sql]

choose

Not: Örnek olması açısından kategori açıklamalarını Choose ile oluşturdum. Tabi ki kategorinin açıklamasını join yapıları ile çekmemiz gerekiyor.

Mesut Güneş

Selçuk Üniversitesi Bilgisayar programcılığı bölümünden mezun olduktan sonra birçok firmada Yazılım, İş zekası ve Veritabanı Uzmanı olarak çalıştım. Şuan Türkiye’nin en büyük şirketlerinden biri olan Doğan Online’da Veritabanı Yöneticisi olarak çalışıyorum.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.