الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

إنشاء دالة في sql 2005 تعيد قيمة معينة

بدأه versace في 22 يونيو 2011 · 4 رد · 673 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ارجو مساعدتي في ايجاد دالة تعيد قيمة الغرامة المالية لمشترك تأخر بتسديد قروض

وقيمة الغرامة ( كل يوم تأخير بـ 6 ريالات ) ..؟

#2
Create function  S_count(@requiredDate Date,@compareDate Date)
returns int
as 

begin
Declare @result int 

if @requiredDate <>@compareDate

Set @result=(select 6 * DATEDIFF(DAY,@requiredDate,@compareDate))

return @result 
end
Go

الإستخدام :

Select id,name,dbo.S_count(wantedDate,'2011-6-22') from member

wantedDate تاريخ الإستحقاق

2

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#3

بارك الله فيك اخي الكريم

وجزاك الله خير

عندي سؤال :(

النتيجة ظهرت بارقام كبيرة

ياترى مالسبب...؟؟؟

كما تلاحظ بالصورة المرفقة::

post-246840-025642100 1308973213_thumb.j

المرفقات
bbbbbb.jpg
#4

أخي يوجد تعديل بسيط في الدالة

create function  S_count(@wantedDate Date,@compareDate Date,@paid bit)
returns int

as 
begin

Declare @result int 

if (@wantedDate<= @compareDate)and (@paid=0) 

Begin
      Set @result=(select 6 * DATEDIFF(DAY,@wantedDate,@compareDate))

      IF (@result=0) 
         Begin
              Set @result=6 
          End
      ELSE 
      Set @result=@result


End




return @result 

end

Go

Select id,name,dbo.S_count(wantedDate,'2011-6-25',paid) from member

يجب أن يكون wantedDate أقل من أو يساوي التاريخ الأخر يعني مثل :

dbo.S_count('2011-06-23','2011-6-25',paid)

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#5

جزاك الله خير

الله يرحم والديك ..!

مواضيع مشابهة