هانى سند بتاريخ: 24 مارس 2004 تقديم بلاغ مشاركة بتاريخ: 24 مارس 2004 السلام عليكم دي اول مشكلة ابعتها تطبيقا للفكرة اللي قلت لكوا عليها هي المشكلة اللي حصلت معايا و شفتها في حاجات كتير هي عند المقارنة بين تاريخين as charcter عشان محتاجين نقارن بالشهر بس في فورمات mm-yyyy المشكلة ان الاوراكل عند المقارنة as charcter ممكن يعتبر حاجات اكبر من حاجات تانية مع انهم كديت موش كدة يعني مثلا ممكن 10-2003 تبقي اصغر من 07-2003ككاركتر مع انه كديت العكس طبعا طيب دي المشكلة حلها ايه بقي اننا نحول التاريخ لكاركتر و بعد كدة لديت عشان يقارن صح يعني نكتب كدة and to_date(to_char(date1,'mm-yyyy'),'mm-yyyy')<to_date(to_char('07-2003','mm-yyyy'),'mm-yyyy'); كدة يقارنهم ك date مش charcter و النتايج تطلع صح بالتوفيق و منتظر مشاركاتكم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عبدالله ندا بتاريخ: 24 مارس 2004 تقديم بلاغ مشاركة بتاريخ: 24 مارس 2004 مشكور hanon_OCP علي مشاركتك القيمة وعندي اضافة ايضا علي موضوع التاريخ غالبا في الايصالات او المستندات ذا الصبغة الماليه ما نقوم بتخزين ال SYSDATE لمعرفة تاريخ الاصدر و عند السيرش عن الايصالات المصدر في تاريخ معين تحدث مشكله وهي ان التاريخ يخزن بصيغة كامله بما في ذلك الدقائق و الثواني اما عند البحث ندخله علي شكل يوم شهر سنه وفي هذه الحالة يعتبرنا في الساعه هي الساعة 1 اي منتصف اليل و بذلك يفشل البحث الحل ان تقوم بعمل TRUNC للعمود المحتوي علي تاريخ SELECT * FROM EMP WHERE TRUNK(HIRDATE) ='24/10/1990' ; وبالتالي سيكون الساعة و الدقيقه و الثانيه هي 1 وبذلك نستيطع عمل بحث منطقيمع تمنياتي بالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
khaled بتاريخ: 24 مارس 2004 تقديم بلاغ مشاركة بتاريخ: 24 مارس 2004 مشاركة رائعة ومعلومة مهمة ومفيدهالى الامام وميزد من الافكار والمشاركات اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هانى سند بتاريخ: 24 مارس 2004 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 24 مارس 2004 مشكور عبدالله علي مشاركتك السريعة والفعالة ارجو من بقية الاعضاء ان يحذوا حذوك وكنت عايز اضيف مثال للمشكلة دي ده كويري يجيب نتايج غلط select hiredate from emp where to_char(hiredate,'mmyyyy') > (select to_char(hiredate,'mmyyyy') from emp where empno =7788); و ده نفس الكويري بالنتايج الصح select hiredate from emp where to_date(to_char(hiredate,'mmyyyy'),'mmyyyy')> (select to_date( to_char(hiredate,'mmyyyy'),'mmyyyy') from emp where empno =7788); اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sammerjo بتاريخ: 25 مارس 2004 تقديم بلاغ مشاركة بتاريخ: 25 مارس 2004 يا شباب .... ليش متعبين حالكو ... بتقدروا تقارنو التواريخ كما هي بدون تحويل الى احرف من خلال استخدام الدالة(ة truncate(date,format والي بيتمكنكو من قطع الاجزاء التي ما بدكوا تقرنوها ....هذا المثال بيقارن بين تاريخين بغض النظر عن الوقت المسجل ضمن التاريخ select anyColums from anyTable where truncate(date1,'day') = truncate(date2,'day') SammerJo - Jordan University اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هانى سند بتاريخ: 25 مارس 2004 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 25 مارس 2004 اخي العزيز sammerjo السلام عليكم اولا الوظيفة اسمها trunc وليس truncate ثانيا انا نفذت نفس الكويري اللي بعته بطريقتك ولكن للاسف اعطاني نتيجة مختلفة و لكن يمكن تعديله في حالة هذا الكويري بالذات حتي يعطي النتيجة الصح ايضا يجب ان تعرف انني هنا لا اطرح طريقة لشيء انا فقط اشارككم مشكلة حدثت لي و كيف حلتها بناء علي الاقتراح الذي تقدمت به و الذي ستجد ه في قسم الاقتراحات و هذا هو الكويري اللي بعته بس بطريقتك select empno,trunc(hiredate,'day') d1 from emp where trunc (hiredate) >(select trunc(hiredate,'day') from emp where empno =7788) و ايضا لا تنسي ان استعمال الطريقة اللي بعتها بسبب ان في سلكت لتاريخ في كرسور بفورمات معينة و بنقارنها اتمني اكون وضحت و مشكور اخي علي هذا التفاعل الجميل ومنتظر منك المزيد اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sammerjo بتاريخ: 28 مارس 2004 تقديم بلاغ مشاركة بتاريخ: 28 مارس 2004 سلام شباب ... ومشكور اخ hanon_OCP على التصحيح. وارجو ان تعذرني وشباب لأني اتصفح الموقع بين المحاضرات داخل المختبر لاني ما عندي إشتراك في البيت. عموما علشان ما يسسير اي خربطة للقارئ قمت بتحضير مثال بسسيط ومتكامل (على صفحة هـ.ت.م.ل مرفقة) ليوضح كل من trunc و round لمقارنة التواريخ.كنت اتمنى ان تكون مشاركتي مرتبة اكثر ولكن الوقت ضيق جدا بسسب المحاضرات والدراسة و مشروع التخرج الذي يأخذ معظم وقتي.SammerJo ______ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ابوالعز بتاريخ: 28 مارس 2004 تقديم بلاغ مشاركة بتاريخ: 28 مارس 2004 شكرا لك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هانى سند بتاريخ: 28 مارس 2004 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 28 مارس 2004 ربنا يوفقك يا اخ sammer اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
arab20002000 بتاريخ: 29 مارس 2004 تقديم بلاغ مشاركة بتاريخ: 29 مارس 2004 مشكور و جزاك الله الف خير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عبداللطيف بتاريخ: 14 أبريل 2004 تقديم بلاغ مشاركة بتاريخ: 14 أبريل 2004 شكراً والى الامام اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
gtnet بتاريخ: 12 نوفمبر 2005 تقديم بلاغ مشاركة بتاريخ: 12 نوفمبر 2005 مشكور وبارك الله فيك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.