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

أريد جملة SQL تتجاهل حالة حرف الألف (بهمزة وبدون)

مغلق
بدأه abo-asmaa في 10 مارس 2006 · 12 رد · 1,962 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوه الكرام لدى سؤال ولا اعرف هل اضعه هنا ام فى منتدى الاس كيو ال لانى لازلت حديث العهد بالمنتدى فسأضعه هنا فان كان لديك رد عليه ارجوا افادتى سريعا ، واذا كان الافضل وضعه هناك اخبرونى

السؤال هو باختصار

عندما استخدم عبارات إس كيو إل لعمل بحث فى قاعدة البيانات عن اسم شخص أو عنوان (عبارة سلكت الشهيرة) فإن نتائج البحث تتقيد بشكل الحرف المكتوب فى كلمة البحث مثلاً: إذا استخدمنا كلمة بحث تبدأ بحرف الألف فإن نتائج البحث تعتمد على الحرف المكتوب هل هو ( ا ) أم ( أ ) أم ( إ ) وهكذا فى حروف كثيرة

كيف أستخدم عبارة (سلكت) بحيث تأتى بجميع نتائج البحث التى تحتوى على الحرف بجميع حالاته ... أرجوا أن يكون السؤال واضح ... كما أرجوا أن يكون الجواب عاجل ... وجزاكم الله خيراً

اخوكم ابو اسماء

#2

مكانه كما اعتقدت منتدى SQL, لكن يفضل ان تستخدم خيار البحث فيه قبل ان تطرح السؤال (او تطلب نقل هذا الموضوع اليه).

« Everything looks different from another cracker point of view »

« There are 11 types of people, those who understand binary, those who don't, well I'm the rest »

« ?Do you speak Binary »

me W4R3ZD00D/

#3

أخى الفاضل Dahaka أشكرك على التوجيه ، وأفضل أن أترك نقل السؤال من قسم إلى آخر لرؤية المشرف كما وضحت فى بداية رسالتى

أشكرك مرة أخرى

#4

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

بفرض عندنا جدول بسيط Employee_TB يحوي على حقل Name :

Insert Into Employee_TB Values('Ahmad')
Insert Into Employee_TB Values('Samer')
Insert Into Employee_TB Values('Khaled')

استخدم الـ WildCard أحرف المطابقة :

Select * From Employee_TB Where name Like '[KS]%'

النتيجة :

name
--------------|
Samer
------------- |
Khaled
------------- |

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#5

السلام عليكم

الصراحة لم افهم الجواب يا اخ عماد :(

انا اعتقد انه لا يمكن الحل بجملة select فقط يجب ان نعمل دالة بالفكرة التالية اسم الدالة الافتراضي CovnvertString

ان نعطى لها كلمة و ترجع لنا نفس الكلمة و لكن بتحويل الهمزه الى الف عادية بحيث يكون شكل الاستعلام كالتي

select * from table1 where ConvertString(fieldx) = ConvertString('Value')

بحيث اذا اعطيت الدالة كلمة أحمد مثلا ترجع احمد و يفضل ان تحول جميع الاحرف التي يمكن ان يحصل بها تضارب مثل الـــ ة الى ه و ال ي الى ى

;)

تم تعديل هذه المشاركة بواسطة AbuZakaria في 12 مارس 2006 في 01:17

#6

أخي أبو زكريا أحرف المطابقة أقصد الـ WildCard تستخدم :

لتفحص وجود أو عدم وجود المحرف ضمن مجموعة محارف حسب مكانها و المثال السابق يحدد بأن يكون المحرف الأول من الإسم إما K أو S .

فقد أرجع الإستعلام السابق الإسمين : Samer و Khaled لأننا كتبنا في الشرط :

name Like '[KS]%'

أي أول محرف من قيمة الحقل يجب أن تكون من بين الأحرف الموضوعة بين القوسين [KS] أما الإشارة التي وضعتها في الإستعلام السابق % : فهي تدل على مجموعة محارف مثل النجمة * في استعلامات الأكسس ... ;) .

أما في حال أردنا أن يكون أول محرف ليس K ولا S فنضع الشرط على الشكل : [chars^] أقصد بالكلمة Chars هنا أي مجموعة المحارف التي لا أريد أن يكون الحرف المحدد من بينها ( أي الأحرف المستبعدة من نتيجة الإستعلام ) .

name Like '[^KS]%'

أرجو أن أكون قد وضحت ما فعلت سابقاً بالشرح السابق.

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#7

السلام عليكم

هفترض ان عندك جدول فية البيانات التالية

الاسم

أحمد

إحمد

احمد

اعمل جملة بحث عن اسم احمد ويفرض فى الجملة الخاص بك يا اخ عماد التالى

اول ما تكتب احمد يرجع أحمد احمد إحمد هل الجملة الخاصة بك تنفع فى الحالة دية ؟

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#8

طيب ما علاقة الحل يا اخ عماد بالمطلوب ان اعتقد ان الاخ ابو اسماء يريد ان الاتي

لو افترضنا ان مدخل البيانات قد ادخل الاسماء كاحمد مرة (أحمد) , و مرة (احمد) و ادخل كلمة اخرى مثل سال مرة (سأل) و المرة الخرى (سال) فهو يريد عندما يكتب احمد ان ترجع أحمد أو احمد و الامر كذلم بالنسبة لسال فلا اعتقد ان الحل خاصتك ينفع في هذه الظروف

#9

السلام عليكم يا شباب :

أرجو يا شباب لمن لديه استفسار و لم يفهم ما أقصد بكلامي السابق طبعاً لأني لست بارعاً بالتوضيح و الشرح مراجعة الموضوع التالي :

Characters to match

للفائدة فقط .

أما بالنسبة لملاحظة الأخ Waleedhm :

Select * from Employee_TB where name like '[أإا]حمد'

النتائج :

---------------------------------------------------------------------------------

name

---------------------

أحمد

احمد

إحمد

---------------------------------------------------------------------------------

طبعاً إذا كانت الأسماء السابقة موجودة في الجدول السابق . ;)

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#10

اعتقد ان الاخ ابو اسماء يريد الحل بشكل عام و الحل موجود بالFunction -----> Replace

حيث ان الحل التالي يمكن استخدامه في شاشة البحث التي نريد ان نعملها فالمبرمج لا يستطيع ان يعرف ما الاسم الذي يريد ان يبحث عنه المستخدم لكي نستطيع ان نحدد مكان الهمزة و نضع اشارة معينة محلها و باستخدام هذه الدالة يمكن لنا من حل المشكلة

select FirstName From Tablex where Replace(FirstName,'أ','ا') =Replace(Valuex,'أ','ا')

حيث الجدول Tablex هو الجدول الذي نبحث به و الFirstName هي الخانة المخزن بها الاسماء , و الValueX هي الاسم الذي نبحث عنه

حيث ان هذه الدالة تستبدل كل اي مقطع من الكلمة بمقطع اخر و في المثال السابق قامت باستبدال الهمزة بالالف فلو كان الاسم مدخل أحمد أو احمد سترجع القيمة احمد و بهذا نحل الاختلافات في طريقة الادخال :rolleyes:

تم تعديل هذه المشاركة بواسطة AbuZakaria في 12 مارس 2006 في 21:01

#11

همممممممم إذا الأخ أبو الأسماء يريد أن يظهر الإسم دوماَ (احمد) للحالات الثلاثة : أحمد و إحمد و احمد :

Select 'ا' + SubString(name , 2 , len(name)) from Employee_TB where name like '[أإا]حمد'

العبارة السبقة ستعيد : احمد في كل من الحالات : أحمد و إحمد و احمد .. إن شاء الله تكون الفائدة تمت .. :P

تم تعديل هذه المشاركة بواسطة imadouzoun في 12 مارس 2006 في 21:29

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#12

باذن الله الفائدة عمت و شكرا للاخ عماد حيث تعلمت شى جديد اليوم فلم اكن اعرف ان [] يمكن استخدامها للاستفادة منها في جمل الاستعلام عن نصوص ;) و إن شاء الله دائما يكون هذا المنتدى غنيا بالحلول و الاجوبة المختلفة و يعرض كل واحد افكاره و خبرته ليستفيد المبرمج العربي (h)

#13

الأخوة الأفاضل / الأخ Dahaka ، والأخ عماد ، والأخ أبو زكريا ، والأخ وليد

أشكركم جزيل الشكر على ما قدمتموه من اقتراحات جميلة ومفيدة جداً ، وسوف أقوم إن شاء الله بتجربة هذه الاقتراحات وأفيدكم بالنتيجة التى توصلت إليها

مرة أخرى أكرر لكم جزيل شكرى وأرجوا من كل من يقرأ أن لا يعتبر أن الموضوع انتهى عند ذلك الحد ، فليس للعلم حدود ، فمن يجد لديه اقتراحات مختلفة عما ذكر أرجو أن لا يبخل علينا به

أخوكم أبو أسماء (خالد)

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

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