الانتقال إلى المحتوى

كيفية مقارنة التوايخ ؟


Yousef_Elkordi

Recommended Posts

السلام عليكم... تتم عملية المقارنة بشكل مباشر:

SQL> select ename,hiredate from emp where hiredate<to_date('18 12 1980','dd mm yyyy')
 2  /

ENAME      HIREDATE
---------- ---------
SMITH      17-DEC-80



تم تحويل السلسلة إلى تاريخ لأنها لا تتطابق مع الفورمات الخاص بالتاريخ DD-MON-RR , المثال التالي يبين عملية المقارنة مع قيم تطابق الفورمات القياسي فلا حاجة لتحويلها:

SQL> select ename,hiredate from emp where hiredate<'18-DEC-80'
 2  /

ENAME      HIREDATE
---------- ---------
SMITH      17-DEC-80
رابط هذا التعليق
شارك

أخي الحبيب troman أعتقد أن الاخ يقصد أن المتغيريين مجهولين محتاجين عمل block pl/sql

عفوا أعتقد هذا مايقصد الاخ ليس إلا

رابط هذا التعليق
شارك

جزاك الله خيراً أخي mustafagamiel على التنبيه,ولكن في هذه الحالة يجب تحديد الفورمات المدخل من قبل المستخدم , هذا المثال يوضح حالتين التاريخ الأول يدخل بصيغة غير قياسية والثاني يدخل بصيغة قياسية :

declare
Pd1 date:=to_date('&Date1','dd mm yyyy');
Pd2 date:='&Date2';
begin if Pd1>Pd2
then dbms_output.put_line('Date1>Date2');
elsif Pd1<Pd2 then dbms_output.put_line('Date1>Date2');
else dbms_output.put_line('Date1 Equal Date2');
end if;
end;
/



أتمنى أن يكون هذا ما قصده الأخ بسؤاله...

تم تعديل بواسطة TROYMAN
رابط هذا التعليق
شارك

شكرا لكم اخواني الاعزاء

واسف على قلت التوضيح

بس طلبي هو انة لدي DB مدخل فيها التواريخ

واريد ايجاد الاكبر من بين هذة التوايخ

وللتوضيح اكثر فاكثر

فانة لدي DB فيها البينات التالية

name Date Cust_code
------ --------|-----------------------|---------------------------
Ali 20\12\2009 c2020
yousef 12\12\2009 c2430
Ali 22\1\2009 c2020
Ahmed 20\12\2009 c2000
Ali 06\11\2007 c2020

كما ترون لدي اسم الشخص ( علي ) مكرر 3 مرات و لدي الكثير مثل هذا التكرار بال DB
وقدرت ان احصر عدد الاشخاص الذين لديهم تكرار بال DB
ولكن الان لدي مشكلة ... وهي ان التكرارات ( للشخص الواحد ) بتواريخ مختلفة , فاريد Query تعمل على جلب اخر تاريخ لكل التكرارات الموجودة بالاسماء التي قمت بحصرها قبل ذلك


وشاكر لكم سرعة الرد .. و اسف على قلت التوضيح باول مرة .

رابط هذا التعليق
شارك

السلام عليكم

شكرا لك اخي العزيز على سرعى الرد

ولكن ال MAX تاتيني بأكبر تاريخ لكافة الاسماء .. و انا اريدها لكل شخص لة تكرار فقط
بمعني اخر :

لدي Ali ثلاث تواريخ
و لدى MOhamed تاريخين
ولدى Salim اربع تواريخ

فانا اريد ان اكتب Query تاتي لي بأكبر تاريخ لكل شخص منهم
ولا اريد ان اطبق ال MAX على كل شخص على حدى

واتمنى ان تكون الفكرة و صلت لكم

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية