omar-alreyati بتاريخ: 1 فبراير 2006 تقديم بلاغ مشاركة بتاريخ: 1 فبراير 2006 الاخوة الاعزاء: بعد التحية الطيبة لكم.ارغب في معرفة بعض الباراميتر في الfunction الاتية:اولاً: INSTR والتي تكون بالشكل الاتي : INSTR(x, find_string [, start] [, occurrence]) ارغب في معرفة ما هي start & occurrence وما الفائدة من استخدامهاثانياً: LPAD والتي تكون بالشكل الاتي :LPAD(x, width [, pad_string]) ارغب بمعرفة فائدة pad_string مع الشرح ان امكن بالأمثلة ليتضح الامر اكثر وانا بانتظاركم وشكراً. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
أسامة موسى بتاريخ: 1 فبراير 2006 تقديم بلاغ مشاركة بتاريخ: 1 فبراير 2006 الأخ الكريمINSTR(x, find_string [, start] [, occurrence]) هذه الفانكشن هي عبارة عن ايجاد موقع حرف مثلا في كلمة معينة ويرجع لك قيمة رقمية فاذا وجد الرقم ارجع موقع الحرف واذا لم يجده يرجع الرقم صفر SELECT INSTR('Admin05','A') from dual INSTR('ADMIN05','A') -------------------- 1 طبعا في طرق في البحث يعني اذا اردت ان تبحث في كلمة Admin05 ولكن ان يبدأ من الحرف mيعني يكون الموقع الثالث هو البداية نكتبها بالشكل التالي 1* SELECT INSTR('Admin05','m','3') from dual INSTR('ADMIN05','M','3') ------------------------ 3 حيث تحدد بالبداية الحرف والموقع المراد البداية منهLPADهي عملية قطع كلمة بنهاية الكلمة حيث تحدد له البداية والنهاية 1* SELECT lpad('Admin05','3') from dual LPA --- Adm ملاحظة يستفاد من instr في عملية ايجدا الحرف لنفرض انه جاءك سؤال يقول اقطع اسماء الموظفين اللذين يحتوي اسمهم على حرف aلنفرض انه يوجد كم هائل من البيانات لذلك لن تعرف كل اسم ماهو ترتيب الحرف aلذلك يكون القطع بالشكل التالي Select lpad(employee_name,instr(employee_name,'a')) from employees اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
أحمد مبارك الحيقي بتاريخ: 3 فبراير 2006 تقديم بلاغ مشاركة بتاريخ: 3 فبراير 2006 (معدل) PAD تأتي بمعنى ملء الفراغ أو الحشو... و L ترمز لجهة اليسار LEFT...هذه الدالة تأخذ ثلاثة معاملات:1. سلسلة حرفية (string)، مثلاً omar.2. عدد يمثل العرض (عدد الخانات) التي تريد أن تظهر بها السلسلة الحرفية السابقة، مثلاً 10.3. حرف أو أكثر (كسلسلة حرفية) يستخدم في حشو الفراغ على يسار omar إن كان هناك فراغ. والفراغ يأتي من الفرق بين العدد المحدد في المعامل الثاني (10)وبين الطول الفعلي للسلسلة الحرفية في المعامل الأول (omar) وهو هنا 10-4=6.مثال: ;SQL> SELECT LPAD('OMAR', 10, '*') FROM DUAL الناتج يعطي OMAR****** بالمناسبة، RPAD تقوم بنفس العمل، ولكن الحشو يتم من اليمين... والله أعلم. تم تعديل 16 مايو 2008 بواسطة Amgad اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
أسامة موسى بتاريخ: 4 فبراير 2006 تقديم بلاغ مشاركة بتاريخ: 4 فبراير 2006 الاخ الكريم هي منطقية عمل lpad كما تفضلت ولكن اذا اردت الاضافة مثلا بدون وضع كيفية الاضافة فتعمل الك قطع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
أحمد مبارك الحيقي بتاريخ: 4 فبراير 2006 تقديم بلاغ مشاركة بتاريخ: 4 فبراير 2006 الأخ الفاضل Admin05كلامك صحيح، فإذا تم تحديد معامل العرض أقل من طول السلسلة فإن القطع يتم على حسب عدد خانات العرض...وشكراً على مشاركاتك القيمة... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
omar-alreyati بتاريخ: 5 فبراير 2006 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 5 فبراير 2006 شكراً جزيلاً لكم الاخ أحمد والاخ admin05لكن سؤالي ماذا تعني الباراميتر occurrence في الفانكشن instrوشكراً اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.