21 Şubat 2016 Pazar

function nedir nasıl kullanılır

–function sp ile aynı işlevi yapar

–function select,from yada where içinde çağırabiliriz

–sp yi çağıramayız arasındaki fark budur


–function olduğundan parantez açıp kapatmak gerekiyor


create function TarihFormatla (

@tarih datetime,

@formatTipi int

)

returns varchar(15)

as

begin

declare @formatliTarih varchar(15)


select @formatliTarih = convert(varchar(15),@tarih,@formatTipi)


return (@formatliTarih)

end

–değerlerini değiştik


alter function TarihFormatla (

@tarih datetime,

@formatTipi int

)

returns varchar(30)

as

begin

declare @formatliTarih varchar(30)


select @formatliTarih = convert(varchar(30),@tarih,@formatTipi)


return (@formatliTarih)

end


select dbo.TarihFormatla(getdate(),104)

select dbo.TarihFormatla(orderdate,104),

dbo.TarihFormatla(requireddate,104),

dbo.TarihFormatla(shippeddate,104)

from orders

— 0-250–>kötü

— 250-500–>orta

— 500-1000–>iyi

— 1000- –>süper


select (Unitprice *Quantity),

case when (Unitprice * Quantity) between 0 and 250 then ‘kötü’

when (Unitprice * Quantity) between 251 and 500 then ‘orta’

when (Unitprice * Quantity) between 501 and 1000 then ‘iyi’

when (Unitprice * Quantity) >1000 then ‘Süper’

end as ‘satış durumu’

from [order details]


–function ile yapılışı


create function dbo.SatisDurumu

(

@unitprice money,

@quantity int

)

returns varchar(50)

as

begin

declare @durum varchar(50)

declare @tutar money

set @tutar = (@unitprice *@quantity)

if (@tutar>=0 and @tutar<=50)

set @durum = ‘kötü’

else if (@tutar >=251 and @tutar<=500)

set @durum = ‘orta’

else if (@tutar >=501 and @tutar<=1000)

set @durum = ‘iyi’

else

set @durum =’süper’

return (@durum)

end

select (unitprice*quantity),dbo.SatisDurumu(unitprice,quantity)

from [order details]



function nedir nasıl kullanılır

Hiç yorum yok:

Yorum Gönder