–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