الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

بتاريخ:

السلام عليكم

اخواني ... لدي سؤال بسيط وهو اول مشاركة لي بالمنتدى

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


ولكم جزيل الشكر

بتاريخ:

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

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 تعمل على جلب اخر تاريخ لكل التكرارات الموجودة بالاسماء التي قمت بحصرها قبل ذلك


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

بتاريخ:

مسا الخير...
الحل بسيط باستخدام Group by

select name,max(Date) from TableName group by name;
بتاريخ:
  • كاتب الموضوع

السلام عليكم

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

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

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

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

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

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.