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 02:10
Konum: İstanbul & Gebze Karışık

case When mi ? if else mi kullanılmalı

Mesaj gönderen conari » 17 Oca 2008 09:54

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: 4319
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri » 17 Oca 2008 10:17

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 09:11

Mesaj gönderen naile » 17 Oca 2008 10:21

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 02:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari » 17 Oca 2008 11:01

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 09:13

Mesaj gönderen ikutluay » 17 Oca 2008 03:14

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