16 Ağustos 2010 Pazartesi

Sql Fonksiyonlari(Sql Functions)

1-Metinsel Fonksiyonlar:
--LEN() : Girilen stringin karakter sayisini geri donduren fonksiyon.

SELECT LEN('deneme') --ekran ciktisi 6 olacaktir.

--REPLACE() : Girilen string icindeki karakterleri, belirtilen karakterlere donusturen fonksiyondur.

SELECT REPLACE('al su takatukalari takatukaciya takatukalatmaya gotur','takatuka','ayakkabi')

Ekran ciktisi -- 'al su ayakkabilari ayakkabiciya ayakkabilatmaya gotur'

--(L,R)TRIM(): Girilen stringin solundan veya sagindan belli bir kismi kesmek icin kullanilan fonksiyonlardir.

SELECT LTRIM(' deneme')--cikti: 'deneme'
SELECT RTRIM('deneme ')--cikti:'deneme'

--CHARINDEX(): Girilen degerin bir string icerisinde kacinci sirada oldugunu gosteren fonksiyondur.

SELECT CHARINDEX('@','ergin@asdikjg.sdfon')--cikti 6 olur.6.sirada olduguna dikkat ediniz.

--SUBSTRING():Girilen stringin,belirli bir siradan belirli sayida degeri cekmemizi saglayan fonksiyonlardir.

SELECT SUBSTRING('deneme test',3,4)--cikti:neme

2-Tarihsel Fonksiyonlar:
--Getdate(): O anki tarihi getiren kod.

SELECT Getdate() -- 2010-08-16 15:16:02.037

--YEAR,MONTH,DAY:

SELECT Year(getdate())--yili getirir
SELECT Month(getdate())--ay'i getirir
SELECT Day(getdate())--gunu getirir.

--DATEPART:
Cok sık kullanılan fonksiyonlardan biridir. Tarihsel islemler uzerinde istedigimiz sonucu getirmemize olanak saglar. Asagidaki ornekleri inceledigimiz zaman daha iyi anlayacagiz.

SELECT Datepart(dd,getdate()) -- o anki gunu getiren kod
SELECT Datepart(dw,getdate())--haftanin kacinci gunu oldugunu getirir
SELECT Datepart(dayofyear,getdate())--yilin kacinci gunu oldugunu getirir
SELECT Datepart(week,getdate())--yilin kacinci haftasi oldugunu getirir.

--DATEDIFF:
Yine cok sık kullanılan tarihsel fonksiyonlardan biri de Datediff fonksiyonudur. Girilen iki tarih arasindaki farki istenilen sekilde(ay,yil veya gun olarak) geri donduren fonksiyondur.

SELECT Datediff(MM,'01.01.2010','05.06.2010') 

3-Aggregate Fonksiyonlar:
--SUM(): Adindan da belli olacagi uzere belli bir kolonun veya degerin toplamini alan fonksiyondur.

SELECT Sum(ListeFiyati) FROM Urun

--Count(): Belli kolon uzerinde kac deger oldugunu gosteren fonksiyonlardir.

SELECT Count(*) FROM Urun
SELECT Count(AltKategoriId) FROM Urun

2 yorum:

Adsız dedi ki...

SELECT Datediff(MM,'o1.o1.2010','05.06.2010') ÇALIŞMIYOR.. NEDEN OLSA?

Ergin Arslan dedi ki...

o ile 0 karışmış sanırım. Düzelttim hatayı. Teşekkür ederim uyardığın için.

SELECT Datediff(MM,'01.01.2010','05.06.2010') şeklinde denerseniz olacaktır.

dipnot: tarih formatı ay.gün.yıl biçimindedir. gün.ay.yıl formatı için,

SELECT CONVERT(VARCHAR(10), @Tarih, 104) AS [DD.MM.YYYY]

kodunu kullanabiliriz.