case When mi ? if else mi kullanılmalı

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

case When mi ? if else mi kullanılmalı

Mesaj gönderen conari »

Selamlar,
Tablodaki alanın,
0, 1 , 2 , 3 durumuna göre SQL sorgusuna işlem yaptıracağım.

Şimdi

Kod: Tümünü seç

select.. 
Case alan =0 then ..... else alan=1 then .....
from tablom
şeklinde mi gitmek lazım yoksa.
if ile daha farklı bir performans alabilirmiyim. :roll:
veya bunun için SQL de bir fonksiyonmu yazayım?
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4321
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
delphi içerisinde case if den daha hızlı çalışır.
muhtemelen mssql dede aynı şekilde dir.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Select li bir cümlenin içinde if kullanma şansınız yok zaten.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

naile yazdı:Select li bir cümlenin içinde if kullanma şansınız yok zaten.
İf den kastım fonksiyon içinde kullanmaktı.
Sanırım Case e yöneleceğim.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

genel olarak normal case bloku içerde absürt işler yapılmaz ise if serilerinden daha çalışır denir bir çok kaynakta

bununla birlikte IN kullanılan ifadelerin pascal için yavaş olduğunu okumuştum.

sql de durumunu bilen birisi bizi aydınlatır ise sevinirim.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Cevapla