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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

كيف استعلم عن اكبر تاريخ


6 رد (ردود) على هذا الموضوع

#1 امير101

امير101

    عضو نشط

  • الأعضــاء
  • 216 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 20 March 2010 - 11:10 PM

كيف اكتب استعلام
بناء على حقل التاريخ
الشرط الاول اكبر تاريخ

وبشرط انه يكون اصغر من تاريخ اليوم

اعتقد انه بحاجة الى استعلامين

هذا الشرط الثاني
where
dat<sysdate

اريد الشرط الاول
بتاع اكبر تاريخ

كيف يتم كتابة شرط
اكبر تاريخ حاولت استخدم last_date وtranc
وما زبطت معي

تم التعديل بواسطة امير101, 20 March 2010 - 11:18 PM.

امير مائة وواحـد


رب رجل بمئة
ورب رجل بالف

فهل تحلم ان تكون بواحد ام بمائة ام بالف رجل؟؟؟

#2 mostfa_future

mostfa_future

    عضو مميز

  • الأعضــاء
  • 570 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 21 March 2010 - 03:38 AM

VARIABLE  id  NUMBER
DECLARE
CURSOR emp_cursor IS 
SELECT DISTINCT HIRE_DATE ,EMPLOYEE_ID FROM employees where HIRE_DATE< sysdate  ORDER BY  HIRE_DATE  desc;
v_HIRE_DATE DATE;
BEGIN
  OPEN emp_cursor;
	FETCH emp_cursor INTO  v_HIRE_DATE ,:id;
		CLOSE emp_cursor;
end;
/
select * from employees where EMPLOYEE_ID  =: id;
اخى الكربم الجمله طبعا كده مش محترمه !!!!!
بس فى فنكشن اسمها rowes تقريبا هتغنى عن الكورسن وهى تنفه تشتغل فى بيئه sql يعنى من BEGIN و end;
حاول تبحت عنها هتخليك تعمل الجمله احسن من كده
بالتوفيق

لا تحسبن المجد تمرا أنت اكله *** لن تبلغ المجد حتى تلعق الصبر


صورةصورة


#3 امير101

امير101

    عضو نشط

  • الأعضــاء
  • 216 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 21 March 2010 - 03:52 AM

شكرا على تفاعلك
لا اريد اخي ان اعمل order by

انا اريد سجل وحيد من بين كثير من السجلات وبشرط يكون هو السجل الذي يحتوي على احدث تاريخ وكمان اصغر من تاريخ اليوم
امير مائة وواحـد


رب رجل بمئة
ورب رجل بالف

فهل تحلم ان تكون بواحد ام بمائة ام بالف رجل؟؟؟

#4 mk3bmw

mk3bmw

    عضو نشط

  • الأعضــاء
  • 234 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 21 March 2010 - 09:02 AM

جرب انك تستخدم function قبل عملية الاضافة على الجدول بحيث تتأكد أن التاريخ المدخل هو الأكبر وان يكون أصغر من تاريخ اليوم.

#5 khaled_zozo

khaled_zozo

    عضو

  • الأعضــاء
  • 12 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 21 March 2010 - 10:55 AM

أخي الكريم
في البدايه لابد أن تعرف أن function sysdate بترجع تاريخ النظام بالساعات والدقائق والثواني بمعني أنك لو أدخلت موظف جديد في جدول الموظفين وكتبت في حقل ال hiredate دالة sysdate وكانت الساعة العاشرة صباحا ثم كتبت الإستعلام التالي
select hiredate
from emp
where hiredate < sysdate
فسوف تلاحظ أن الموظف الذي أدخلته للتو ظهر معك لأنك عندما قمت بالإستعلام كان الوقت العاشرة ودقيقتان
وبالنسبه لسؤالك جرب الكود التالي
select max(hiredate)
from (select hiredate
from emp
where hiredate <'21-mar-10-)')
يعني أدخل تارخ اليوم كتابة وليس sysdate عند الاستعلام

#6 ENG_HOSSAM_WALLY

ENG_HOSSAM_WALLY

    عضو مميز

  • الأعضــاء
  • 1,005 مشاركة
  • الاسم الأول:Hossam
  • اسم العائلة:Wally
  • البـلـد: Country Flag
  • المنصب الحالي:......

تاريخ المشاركة 21 March 2010 - 02:10 PM

انت ممكن تاخد من ال sysdate

التاريخ بالصيغة اللى انت عايزة

وتستخدمها فى الاستعلام بتاعك زى كده

where hiredate < to_char(sysdate,'dd/mm/yyyy')

Hossam Wally

 

Hossam_wally@hotmail.com

 

 

00201156365637

 

 


#7 mostfa_future

mostfa_future

    عضو مميز

  • الأعضــاء
  • 570 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 21 March 2010 - 03:11 PM

شكرا على تفاعلك
لا اريد اخي ان اعمل order by

انا اريد سجل وحيد من بين كثير من السجلات وبشرط يكون هو السجل الذي يحتوي على احدث تاريخ وكمان اصغر من تاريخ اليوم


اخى الكريم بغض النظر عن order by الى فى الكورسن الناتج دايما هيبقى حقل واحد بس عشان مش بعمل FETCH غير لحقل واحد بس الى هو اكبر واحد
انا قولتك ان الجمله كده مش حلو عشان بس موجد فيه VARIABLE id NUMBER مش عشان order by ممكن تجرب الجمله دى
select max( HIRE_DATE)
from (select HIRE_DATE
from employees where HIRE_DATE <sysdate )

لا تحسبن المجد تمرا أنت اكله *** لن تبلغ المجد حتى تلعق الصبر


صورةصورة