زهرة الربيع عضو نشــط
عدد المساهمات : 36 نقاط : 86 السٌّمعَة : 0 تاريخ التسجيل : 17/05/2009
| موضوع: (4) لغة الإستفسارات SQL الأربعاء مايو 20, 2009 1:31 pm | |
| أحيانا نحتاج الحروف الاولى من حقل ما ، فمثلا في الجامعات يكتبون الحروف الثلاثة الاولى من اسم المقرر، و غيرهم ايضا يحتاج لمثل هذه الخاصية ، وسوف نتعلم كيف نقوم بإستخراج الاحرف الثلاثة الاولى من اليسار لجميع القيم في حقل معين، الكود الحري الذي سيقوم بهذه العملية هو التالي : |
SQL = "select left$(name,3) as k from tb1" | استخدمنا الدالة left المعروفة لتحديد الحروف من حقل معين و الذي اسمه في المثال السابق name و قد قمنا بتخزين القيم في المتغير k و يمكنك تخزينها في اي متغير تريد ، طبعا الجدول في حالتنا اسمه tb1 ، هذا كل شيء ، طبعا نقوم بعد ذلك بإضهار النتائج كما تعلمنا في الدروس السابقة |
سنأخذ الان طريقة تحديد القيم التي تحتوي على حرف معين سواء في منتصف الكلمة أو في اولها او اخرها ، هذا التطبيق مهم و له استخدامات عديدة في البحث خصوصا فمثلا تكون تعرف ان اسم الطالب يحتوي على حرف معين لكن لاتعرف اسم الطالب و اين موقع الحرف في اسمه ، طريقة الاستعلام التالية سوف تبين لنا كيفية استخدام هذه الطريقة ، الكود هو : | SQL = "select name from Tb1 where name like '*" & text1.text & "*'" | لا حظ أننا قمنا بإستخدام الجملة Like و هي بمعنى التشابه وليس شرطا التساوي بعد ذلك وضعنا الشرط و هو ما يدخله المستخدم في مربع النص و انظر اننا وضعنا علامتين نجميتين في الشرط وهي تستخدم في اعلام البرنامج بأنه سيحدد اي قيمة تشبه القيمة المدخلة في اي موقع منها |
إن الاستعلام يعيد القيم مرتبة على اساس ترتيب ادخالها ، لكن أحياناتحتاج بأن تقوم بترتيب النتائج ترتيبا تصاعديا أو تنازليا ولفعل ذلك نستخدم الأمر Order By و يكون شكل الاستعلام على الطريقة التالية : | SQL = "select name from Tb1 where name like '*" & text1.text & "*' order By name Asc" | بعد كتابة الامر Order by اكتب اسم الحقل الذي تريد أن يكون الفرز و الترتيب عليه وهو في حالتنا name بعد ذلك اكتب طريقة الفرز التي تريدها تصاعدي أي من الالف للياء ونستخدم لذلك أمر Asc ، مع العلم أن عند عدم وضع Asc فإن البرنامج يقوم تلقائيا بفرزه تصاعديا اما الفرز التنازلي من الياء الى الالف فنستخدم الامر Desc بدلا من Asc |
| |
|