منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : سؤال في Regular Expression
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته

كيف ابحث في حقول قاعدة البيانات عن طريق Regular Expression

بحيث تظهر في الداتا قريد البيانات من قاعدة البيانات

بترتيب معين order by

مثلا حقل الاسم Name

يظهر الاسم الاول الذي بدايته (م) 
ثم يظهر الاسم الثاني الذي بدايته (س)
ثم يظهر الاسم الثالث الذي بدايته (ن)

على ان تظهر في الداتا قريد
وعليكم السلام ورحمة الله وبركاته
قواعد البيانات لا تدعم Regular Expression
السلام عليكم...

لا أدري إن كانت قواعد البيانات لا تدعم الـ Regular Expressions كما قال الأخ السندبااد و لكن يمكن استعمال خدعة بسيطة مع عبارة UNION (الكود التالي يعمل مع SQL Server):

كود :
SELECT *, 1 AS num FROM table_name WHERE (field_name LIKE 'ط%')
UNION
SELECT *, 2 AS num FROM table_name WHERE (field_name LIKE 'س%')
UNION
SELECT *, 3 AS num FROM table_name WHERE (field_name LIKE 'ل%')
ORDER BY num, field_name

حيث table_name في الجمل الثلاث هو نفس اسم الجدول، و كذلك field_name هو نفس اسم الحقل أو العمود.
العمود الإضافي num هو مجرد عمود لأعداد متسلسلة لترتيب السجلات حسب المطلوب.

في هذا الكود تظهر الكلمات التي تبدأ بحرف الطاء أولاً ثم التي تبدأ بحرف السين و أخيراً التي تبدأ بحرف اللام.

* المشكلة في هذا أننا إذا أردنا تضمين كل الحروف قسنحتاج تقريباً إلى 29 جملة UNION و SELECT !!

نرجو الاستفادة و السلام.