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

كيف اقارن التوقيت؟؟؟

مغلق
بدأه samsor في 4 مايو 2006 · 6 رد · 616 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم...

مشكلتي انني اعمل الآن على برنامج حضور موظفين..

فبالنسبة للموظفين اصحاب الدوام الواحد لامشكلة لديهم...

اما لأصحاب الدوامين...

كيف اعرف عن تسجيل دخوله هل هي الفترة الأولى ام الثانية؟؟

فكرت ان تكون اذا كانت الساعة قبل 3:00 PM فهي في الفترة الأولى واذا كانت بعدها فهي في الفترة الثانية

فهل ما افكر به صحيح؟؟ ام هناك طريقة افضل؟؟

واذا كان صحيح... فيكف اعمل ال IF Statment لمقارنة الساعة؟؟؟

وجزيتم خيرا

#2

هذا يتبع لنظام المؤسسة التي تعمل بها

ردا على سؤالك حول عمل مقارنة بالتاريخ يجب عليك استخدام التابع

DateDiff

مثال عليه

If DateDiff ( DD , Hiredate , GetDate () ) = 0 
Begin
....
End
Else
Begin
...
End

هذا المثال المبين بالأعلى يقارن تاريخ تعييين الموظف فإذا تعين

بنفس تاريخ اليوم سيتم تضمينه ضمن الشرط

على فكرة DD تعني يوم

سلام

#3

اشكر لك ردك اخي Design...

لكن كيف يمكنني مقارنة الساعة الحالية بساعة انا احددها

فلو وضعت...

SET @D =  '03:00:00 PM'

ستأخذ قيمة 1900 - 1 -1 15:00:00

مما سيجعل تاريخ اليوم اكبر دائما... :unsure:

#4

مرحبا عزيزي

لقد قمت بكتابة هذا المثال من أجلك

لاحظ إذا قمت بتغيير الدقائق من 12 إلى 11 ستتغير نتيجة المقارنة

راجع DateDiff و Convert

Declare @Time1 DateTime , @Time2 DateTime 
Set @Time1 = Convert ( DateTime , '15/1/2000' , 103 ) + 
  Convert ( DateTime , '13:11:00' , 8 ) 

Set @Time2 = Convert ( DateTime , '15/1/2000' , 103 ) + 
  Convert ( DateTime , '13:12:00' , 8 ) 

IF DateDiff ( Mi , @Time1 , @Time2 ) = 0 
Print 'Time1 = Time2'
Else
Print 'Time1 <> Time2'

سلام

#5

أخي Design ...

أشكر لك فضلك وتفضلك معي واستقطاع جزء من وقتك للإجابة على تساؤلي..

عسى الله أن يثيبك بإعاناتي كل خير وان ييسر لك سبل الخير والنجاح,,,

وبقي لدي تساؤل اذا امكن.. *-)

اريد ان اضع في قيمة ال Time1@ تاريخ اليوم يعني اريد ان اخذه من ال GetDate ولكن بساعة انا احدها

يعني اريد ان يكون التاريخ متغير على حسب تاريخ اليوم اما الساعة تكون ثابتة على الساعة 3:00PM

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

#6

تفضل

Declare @Time1 Varchar ( 12 ) 
Set @Time1 = Convert ( VarChar , GetDate() , 103 ) 

Declare @Time2 DateTime
Set @Time2 = Convert ( DateTime , @Time1 , 103 ) +
 Convert ( DateTime , '15:00:00' , 8 ) 

Select @Time2

سلام

#7

جزاك الله الف خير وفرج كربك وهمك وحقق لك مبتغاك يارب العالمين....

هذا الموضوع مغلق.

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