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

مقارنة الوقت

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

أود السؤال عن مقارنة الوقت وذلك trigger يمنع الادخال اذا كانت قيمة الوقت الحالي أكبر من وقت معين .. بحثت في المنتدى ووجدت أن الموجود يتعلق بمقارنة التاريخ..

من لمح فجر الأجر هان عليه ظلام التكليف

#2

هل يكفيك هذا المثال ؟

declare @d datetime
declare @c datetime

set @d=convert(datetime,'15/10/2005',103)

set @c=convert(datetime,'19/8/2005',103)

if (@c > @d)
begin 
print @c 
end

else
begin
print @d
end
#3

أشكرك أخي محمد ،ولكن ليس هذا مقصدي..

لنفترض أن هناك جدول معين يقوم فيه المستخدمون بعمليات مختلفة ، المطلوب هو منع المستخدم من أية عملية اذا كانت هذه العملية في غير الوقت المسموح به ، مثلا الوقت أكبر من 8.00 مساء..

أرجو ان الصورة قد اتضحت..

من لمح فجر الأجر هان عليه ظلام التكليف

#4
اقتباس
المطلوب هو منع المستخدم من أية عملية اذا كانت هذه العملية في غير الوقت المسموح به ، مثلا الوقت أكبر من 8.00 مساء..

يمكنك ببساطة استخلاص الساعة فقط من ساعة السيرفر بالدالة datepart مع تمرير hh كمعامل أول لها (تمرير hh لهذه الدالة يجعلها تستخلص جزء الساعة فقط من التاريخ الممرر لها)، ومقارنة رقم الساعة المستخلص مع الوقت المسموح به، ومن ثم تنفيذ العملية إن كان الوقت يسمح.

قمت بكتابة هذا الإجراء المخزن البسيط الذي يمكنك مناداته من برنامجك، ويمكن تحويله فيما بعد لtrigger مربتط بجدول معين:

create procedure IsItNow8PM
as if datepart(hh, getdate())>=20 select 1 as Lateness
else select 0 as Lateness

قصدت بالرقم 20 الساعة 8 مساء كما ذكرت في سؤالك.

ولتنفيذه:

exec IsItNow8PM

أتمنى أن يكون هذا ما تقصده. :)

تم تعديل هذه المشاركة بواسطة walcom في 6 مايو 2005 في 11:38

فكر بطريقة أخرى

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

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