تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال في Regular Expression
#1
السلام عليكم ورحمة الله وبركاته

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

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

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

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

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

على ان تظهر في الداتا قريد
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته
قواعد البيانات لا تدعم Regular Expression
فاعلم أنه لا إله إلا الله
الرد }}}
تم الشكر بواسطة:
#3
السلام عليكم...

لا أدري إن كانت قواعد البيانات لا تدعم الـ 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 !!

نرجو الاستفادة و السلام.
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم