24 Mayıs 2014 Cumartesi

Sql Server Bazı Sistem Fonksiyonları( İdentity, Rowcount, Print, Floor, Mod )

Bazı sistem fonksiyonları;


İdentity:En son girilen kayıt numarasını gösterir. Örneğin 7 kayıt girdik identity koşuluyla birlikte 7 kayıt gösterir.
Kullanımı: select @@identity from <tablo_adı>

Rowcount: Koşula uyan kayıt sayısını gösterir.
Kullanımı: select @@rowcount from <tablo_adı>


Örnek:
select * from muhasebe
where cinsi like '%a%'
select  @@rowcount
--Burada cinsi alanında içinde a harfi olan kayıtların kayıt sayısını gösterir.

-Print:Sonucu mesaj olarak göstermemizi sağlar.
Kullanımı:declare@<değişken_adı><veri tipi>
                  Select @<değişken adı> <sql fonksiyonu> from <tablo_adı>
                  print@<değişen_adı>
Örnek:
declare @kayitsayisi int
select * from muhasebe
print @kayitsayisi


Örnek:

declare @kayitsayisi int
select * from muhasebe
set @kayitsayisi=@@rowcount
select 'kayit sayisi:'+cast(@kayitsayisi as varchar(20)) as kayit

--Burada kayitsayisi adında değişken tanımlayıp rowcountun değerini atıyoruz. Daha sonra ‘kayitsayisi:….’şeklinde yazdırmak için veri tipini değiştiriyoruz ve kayit adı altında ekranda görüntülüyoruz.




o   Başka bir örnek;

declare @degisken varchar(20)
select @degisken='11 g sınıfı'
print '1.batch sonu'


print @degisken
print '2.batch sonu'


print '3.batch sonu'
go

--Burada degisken adında bir değişken tanımlıyoruz. Ve değişkeni görüntülüyoruz.
--Go koşulunu koymayı unutmuyoruz.
-Case:Bir değere göre daha fazla alternatifi yerine getirmemizi sağlar.
Kullanımı: Case <değer>
                    When <değer> then <işlem>
                    When <değer> then <işlem>
                   Else < işlem>
                   End
Örnek:
select cinsi, aciklama=case fiyat
when 1 then 'ucuz'
when 3 then 'orta'
when 15 then 'pahalı'
else  'belirtilmemis'
end
from muhasebe

--Burada kayıtlara bakarak 1ise ucuz, 5 ise orta, 10 ise pahalı yazıdırıyoruz. Farklı kayıt varsa belirtilmemiş yazdırıyoruz.
Örnek:
select cinsi, aciklama=case 
when fiyat<5 then '5den az'
when fiyat=5 then '5e esit'
when fiyat >5 then '5den buyuk'
end
from muhasebe

--Burada fiyat 5ten küçükse ‘5den az’, 5e eşitse ‘5e esit’, 5ten büyükse ‘5den buyuk’ şeklinde yazdır diyoruz.

Mod:Sayının modunu alır.
Örnek:
select cinsi,fiyat,aciklama=case fiyat %3
when 1 then 'bir'
when 2 then 'iki'
else 'sıfır'
end
from muhasebe

select cinsi,fiyat,aciklama=case fiyat %2
when 1 then 'tek'
when 0 then 'cift'
else 'sıfır'
end
from muhasebe

--Burada fiyatın 2 ye modunu alıyoruz. Sonuç 1 ise ‘tek’, 0 ise ‘cift’ başka bir değer ise ‘sıfır’ yazıdırıyoruz.

Floor:Sayının ondalıklı tarafını atar, tamsayıya dönüştürür.
Örnek: select floor(fiyat) from muhasebe
--Fiyatın ondalıksız halini gösterir.
Örnek: --fıyat alanı tam sayı ıse ondalıklı sayı ıse ondalıklı yazıdırınız.

select cinsi,fiyat,aciklama=case
when floor(fiyat) = fiyat then 'kusuratsız'
else 'ondalıklı'
end
from muhasebe

--Burada floor şartıyla fiyat,fiyatın normal kayıdıyla aynıysa küsuratsız değilse ondalıklı olduğunu belirtiyoruz.



      

                   

Hiç yorum yok:

Yorum Gönder