declare @temp_table table( sayi1 int ) INSERT into @temp_table values(1), (2), (3), (4) SELECT * FROM @temp_table SELECT sayi1= CASE sayi1 WHEN 1 then 24 WHEN 3 then 99 END FROM @temp_table
Sanal (yani geçici) bir tablo oluşturarak bu tabloya 4 satır değer ekledim.
Yine sorgu yaptığım için SELECT ile başlıyorum. “Sütundaki değerin “1” olduğu yerde değeri değiştirerek 24 yap”, şeklinde çalışıyor. Her satır için tekrar tekrar çalışır ilk gördüğünü değiştirip sona ermez.
Yukarıdaki örnekte tabloya 1, 2, 3 ve 4 değerlerini ekledim, CASE yapısı içerisinde 1 değerlerini 24 ile, 3 değerlerini ise 99 ile değiştirmesini ayarladım. Sonuç aşağıdaki gibidir.

String ile yapacak olursak,
declare @temp_table table( u_id int, u_name nvarchar(50), u_salary int ) INSERT into @temp_table values(1, 'Ahmet', 5600) INSERT into @temp_table values(2, 'Emin', 6874) INSERT into @temp_table values(3, 'Boran', 4687) SELECT * FROM @temp_table SELECT u_name= CASE u_name WHEN 'Ahmet' then 'Mehmet' WHEN 'Boran' then 'Bora' END FROM @temp_table

Eğer veritabanından filtreleme yapacaksanız, bunun gibi işlemlerle sunucu tarafında yapmanızı öneririm,
Program tarafında işlem: eğer önce verileri (örneğin 1.000.000 veriyi) çekip sonra filtrelerseniz önce veriyi çekmek için bağlantıya yüklenecek ardından işlemek için programı çalıştıran işlemciye yüklenmiş olacaksınız, ayrıca RAM’de de çok yer kaplamış olacaksınız, hem kaynak kullanmış hem de verinin gelmesi için beklemiş olacaksınız.
Sunucu tarafında işlem: Sunucu kendi içinde, programdaki tablo içinde arama işleminden çok daha hızlı arama/filtreleme yapar. Sunucu tarafında yaptığınız işlemde arama/filtreleme işlemi kısa sürecek, dönen veriler sadece sonuçlar olduğu için tüm veritabanına nispeten daha az veri gelecektir.