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

البحث بدلالة سلسلة حرفية فائدة

مغلق
بدأه فارس عبد الله في 1 مارس 2003 · 5 رد · 777 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اذا لدى جدول booksجزءمن جداول تخص نظام ادارة مكتبات و لدى حقل بالجدول books اخزن فيه اسماء الكتب المتوفرة بالمكتبة اعتقد ان انسب طريقة للبحث عن كتاب ما هى كتابة اسم هذا الكتاب ولكن هنالك عدة مشاكل ستواجهنا منها على سبيل المثال وذلك بافتراض ان اسم الكتاب باللغة العربية ولنفرض اننا نريد ان نبحث عن كتاب له الاسم "البرمجةالمتقدمةبالفيجول بيسك 6" هنالك من سيكتب الاسم كالاتى

"البرمجه المتقدمه بالفيجول بيسك 6" واخر قد يكتب "البرمجة المتقدمة بالفيجــــول بيسك6" وهكذا كما ترون تختلف الصيغ

لحل المشكلة اعلاه "هذه طريقة قد تكون هنالك طرق اخرى وافضل "

1-نوحد الحروف التى تحدث لبس مثلا اذا طلب المستخدم اسم كتاب من ضمن حروفه حرف ة نحولها الى ه او العكس واذا طلب المستخدم اسم كتاب من ضمن حروفه حرف ـــــ نقم بازالت ــــ واذا كان اسم الكتاب يتكون من مقطعين او اكثر وكانت هنالك اكثر من فاصلة بين هذه المقاطع نقم بازاحته ولنجعلها مقطعاً واحد مثلا وهكذا .....والآن ايه رايكم فى هذا الحل اذا نفع ساقوم بوضع الكود للاستفادة منه وشكراً....;););)

سبحان الله و الحمد لله لا اله الا الله و الله اكبر

#2

حل ممتاز وغالبا هو المتعارف عليه عند عمل search on name fields data

i'd like to see your code on that , can i

#3

ارسلته لك على الايميل(f)

سبحان الله و الحمد لله لا اله الا الله و الله اكبر

#4

الأخ فارس

السلام عليكم ورحمة الله وبركاته

ارجو وضع الكود ليستفيد الجميع

ولك جزيل الشكر والتقدير

:):):)

#5

كنت ابغى معرفة اراء الاخوة فى المنتدى عن كيفية علاجهم لمثل هذه المشكلة لتعم الفائدة ونتبادل الخبرات ولكن ....عموماً هذا هو الكود الذى قمت بكتابته لحل هذه المشكلة :-

declare

i number(2);

begin	

   --*********************************************************************

    --**************REMOVING SPACES LEFT AND RIGHT CHARATERS **************

    --*********************************************************************

    :bookname:=ltrim(:bookname);

    :bookname:=rtrim(:bookname);

    --*********************************************************************

    --*********************REMOVING SPACES BETWEEN CHARATERS **************

    --*********************************************************************

    FOR I IN 1..LENGTH(:BOOKNAME) LOOP

        if substr(:bookname,I,2)='  ' then

           :bookname:=REPLACE(:bookname,'  ',' ');--1 SPACE

           :bookname:=REPLACE(:bookname,'   ',' ');--2 SPACE

           :bookname:=REPLACE(:bookname,'    ',' ');--3 SPACE

        :bookname:=REPLACE(:bookname,'     ',' ');--4 SPACE

           :bookname:=REPLACE(:bookname,'      ',' ');--5 SPACE

           :bookname:=REPLACE(:bookname,'       ',' ');--6 SPACE

           :bookname:=REPLACE(:bookname,'        ',' ');--7 SPACE

           :bookname:=REPLACE(:bookname,'         ',' ');--8 SPACE

           :bookname:=REPLACE(:bookname,'          ',' ');--9 SPACE

           :bookname:=REPLACE(:bookname,'           ',' ');--10 SPACE

        end if;

        :bookname:=REPLACE(:bookname,'É','å');

        :bookname:=REPLACE(:bookname,'ì','í');

        :bookname:=REPLACE(:bookname,'áÂ','áÇ');

        :bookname:=REPLACE(:bookname,'Ä','æ');

        :bookname:=REPLACE(:bookname,'Ã','Ç');

        :bookname:=REPLACE(:bookname,'Ü','');

    END LOOP; 

    --*********************************************************************

    --*********************************************************************

    end;

سبحان الله و الحمد لله لا اله الا الله و الله اكبر

#6

هذه نفس الطريق التي أستدخدمها لعمل removing spaces& from name fields

شكرا لك سيدي على تعاونك

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…