sunfoor بتاريخ: 27 أبريل 2009 تقديم بلاغ مشاركة بتاريخ: 27 أبريل 2009 السلام عليكم ورحمة الله اخواني انا حاليا ادرس لغة الأوراكل وطبعا لسه مبتدئة . وأخذنا functions (string,arirthmatic,data, aggregate) انواع functionsاريد أعرف ما وظيفة كلا من :LTRIMRTRIMROUNDTRUNCVARIANCESTDDEVشو معناهم وشو وظيفتهم مع إعطاء مثال لكل واحدأرجو الإهتمام بالموضوع لأنه مطلوب من قبل المدرس أنتظر الردودأختكم : sunfoor اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mustafagamiel بتاريخ: 27 أبريل 2009 تقديم بلاغ مشاركة بتاريخ: 27 أبريل 2009 (معدل) وعليكم السلام ورحمة الله وبركاته بالنسبة لوظيفة TRIM هي حذف مثلا الفراغات أو أحرف معينة من الجملة مثال SQL> SELECT TRIM('A' FROM 'AHMED') FROM DUAL; TRIM ---- HMED SQL> SELECT TRIM('A' FROM 'MUSTAFA') FROM DUAL; TRIM(' ------ MUSTAF SQL> SELECT TRIM ('H' FROM 'AHMED') FROM DUAL; TRIM( ----- AHMED SQL> SELECT TRIM ('A' FROM 'ALAA') FROM DUAL; T - L المعنى أنها تحذف إما على اليمين أو الشمال لكن لاعرف لو كان في LTRIM OR RTRIM زي الفيجوال جرتها لكن أعطاني خطأROUND وظيفتها أنه بتعمل تقريب فستجد على اليمين مقدار التقريبفمثلا لو 2 يتم العد مابعد العلامة العشرية برقمين ويينظر للرقم الثالت ويشوف هل الرقم الثالث يستطيع عمل تقريب ويغير في الرقم الثاني أم لالاحظ لو القيمة بالسالب فإنه هيمشي عاى يسار العلامة العشرية فمثلا لو -1 هيمشي على يسار العلامة العشرية برقم واحد ويشوف هذا الرقم مقرب لخانة العشرات فمثلا ال 5 ستقرب إلى 10 فتجعل الرقم 100 وهكذا SELECT round(95.923,2) first,round(95.923,1) second ,round(95.923,0) third, round(95.923,-1) fourth,round(95.923,-2) five from dual ; ال trunc زي ال round لكنها لاتقرب بل تستقطع مباشرة دون تقريب مثال SELECT trunc(95.923,2) first,trunc(95.923,1) second ,trunc(95.923,0) third, trunc(95.923,-1) fourth,trunc(95.923,-2) five from dual ; VARIANCEالتباين SQL> select VARIANCE(salary) from employees; VARIANCE(SALARY) ---------------- 15283140.5 STDDEV ==standaerd deviation الانحراف المعياري SQL> select STDDEV(salary) from employees; STDDEV(SALARY) -------------- 3909.36575 تم تعديل 27 أبريل 2009 بواسطة mustafagamiel اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sunfoor بتاريخ: 28 أبريل 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 28 أبريل 2009 مشكور أخوي مصطفى جزاك الله خير ...بس لسه ما فهمت وظيفة Round , truncSELECT round(95.923,2) first,round(95.923,1) second ,round(95.923,0) third, round(95.923,-1) fourth,round(95.923,-2) five from dual ما فهمت المثال!!! كيف لازم يطلع الناتج ؟؟نفس الحال بالنسبة لل trunc !!! ما فهمت المثالمعليش لو تعيد شرحهم مرة ثانية مع اعطاء الناتج شكرا جزيلا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mustafagamiel بتاريخ: 28 أبريل 2009 تقديم بلاغ مشاركة بتاريخ: 28 أبريل 2009 (معدل) ال round بتعمل تقريب لاقرب رقم صحيح على حسب ماالعدد الذي بعد الفاصلة , وبالفعل أرفقت النتائج لكن لم تظهر بشكل كويسنتائج ال round FIRST SECOND THIRD FOURTH FIVE --------- ---------- ---------- ---------- ---------- 95.92 95.9 96 100 100 ال trunc لاتقرب خالص بل تستقطع أيضا على حسب العدد المذكور بعد الفاصلة ,نتائج الاستعلام هي FIRST SECOND THIRD FOURTH FIVE ---------- ---------- ---------- ---------- ---------- 95.92 95.9 95 90 0 للاسف أيضا النتائج غير واضحة أتمنى التجربة على ال sql كي تري النتيجة أفضل من هذا تم تعديل 28 أبريل 2009 بواسطة mustafagamiel اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sunfoor بتاريخ: 29 أبريل 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 29 أبريل 2009 صحيح النتائج مو واضحة بحاول ان شاء الله أجربهم على SQLعموما شكرا جزيلا لك .أشوفك في استفسار أخر ان شاء الله .أختك : sunfoor اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
t-hassaan بتاريخ: 29 أبريل 2009 تقديم بلاغ مشاركة بتاريخ: 29 أبريل 2009 جربى select trunc(90.1) , trunc(90.6) from dual ;تعطى 90 فى الحالتين حيث انها تقوم بحذف الكسراما select round(90.1) , round(90.6) from dual تعطى 90 فى الحالة الاولى و 91 فى الحالة الثاتية حيث اتها تقوم بالتقريب الى اقرب رقم صحيحهذه ايسط صور وممكن استخدامها بصورة اعقد ولكن اعرفى الفرق ده كبداية اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
TROYMAN بتاريخ: 29 أبريل 2009 تقديم بلاغ مشاركة بتاريخ: 29 أبريل 2009 السلام عليكم...جربي هذا : من هنا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sunfoor بتاريخ: 30 أبريل 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 30 أبريل 2009 مشكوريين إخواني ما قصرتوا تقريبا فهمت الفرق بين round & trunc إلى اللقاء في سؤال أخر .. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sunfoor بتاريخ: 30 أبريل 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 30 أبريل 2009 مساء الخير إخواني عندي سؤال أخر في function انا ما فهمتها من المدرسة الي تشرح ممكن تفهموني وظيفتها مع إعطاء مثال وهي : instr (string1,string2 ) and ECIL FLOOR MOD شكرا لكم أختكم : sunfoor اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
TROYMAN بتاريخ: 1 مايو 2009 تقديم بلاغ مشاركة بتاريخ: 1 مايو 2009 بالنسبة للـ Instr :هذا التابع يقوم بإرجاع مكان توارد السلسلة الثانية ضمن السلسلة الأولى .في حال كانت السلسلة الثانية عبارة عن محرف وحيد فيقوم التابع بإرجاع مكان وجوده في السلسة الأولى,و إذا كانت السلسلة الثانية هي عبارة عن أكثر من محرف فيقوم التابع بإرجاع بداية هذه السلسلة 1* select instr('oracle','a') "Index Of" from dual SQL> / Index Of ---------- 3 ------------------------------------- 1* select instr('oracle','cl') "Index Of" from dual SQL> / Index Of ---------- 4 الحالة الأولى هي تمرير باراميترين فقط إلى هذا التابع , الباراميتر الأول هو السلسلة المراد البحث ضمنها, والثاني هو السلسلة المراد البحث عنها.الباراميتر الثالث هو لتحديد المكان الذي سوف نبدأ منه بالبحث و يأخذ قيمة 1 إذا لم نقم بتحديده (أي إفتراضياً يبدأ البحث من أول السلسلة 1* select instr('abcabc','a',1) "Index Of" from dual SQL> / Index Of ---------- 1 ------------------------------------- 1* select instr('abcabc','a',2) "Index Of" from dual SQL> / Index Of ---------- 4 أما الباراميتر الرابع هو التوارد , وهو افتراضياً 1 أي التوراد الأول للسلسة الثانية ضمن الأولى .و المثال التالي يوضح هذا الكلام: 1* select instr('abc abc abc','a',1,1) "Index Of" from dual SQL> / Index Of ---------- 1 ------------------------------------- 1* select instr('abc abc abc','a',1,2) "Index Of" from dual SQL> / Index Of ---------- 5 ------------------------------------- 1* select instr('abc abc abc','a',1,3) "Index Of" from dual SQL> / Index Of ---------- 9 و تأتي أهمية هذا التابع مع تابع Substr الذي يقوم باقتطاع سلسلة من أخرى .لإقتطاع اسم مخدم البريد الإالكتروني من العنوان : 1* select substr('[email protected]',instr('[email protected]','@')+1,(instr('[email protected]','.') SQL> / Mail Server ---- mail تابع الـMod يستخدم من أجل الحصول على باقي القسمة 1* select mod(7,4) from dual SQL> / MOD(7,4) ---------- 3 تابع الـ Floor يقرب إلى أدنى قيمة عشرية أي 3.8 تصبح 3أما تابع الـ Ceil فهو يقرب إلى أعلى قيمة عشرية أي 3.8 تصبح 4 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sunfoor بتاريخ: 2 مايو 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 2 مايو 2009 مشكور أخوي على الرد والمساعدة ولو لني لسه ما فهمت وظيفة instr functionياريت لو تبسط لي اياها وشكرا . اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
TROYMAN بتاريخ: 2 مايو 2009 تقديم بلاغ مشاركة بتاريخ: 2 مايو 2009 ياريت لو تبسط لي اياها وظيفته هي البحث عن حرف معين ضمن سلسلة معينة,فإذا وجد هذا الحرف يرجع مكانه ضمن السلسلة و إذا لم يجده يرجع 0SQL> select instr('HelloWorld','W') from dual; result ----------------------- 6 1* select instr('HelloWorld','M') from dual SQL> / result ----------------------- 0 هذا المثال يستعرض الموظفين الذين لهم اسم فيه على الأقل حرف 'A' واحد 1* select ename from emp where instr(ename,'A')<>0 SQL> / ENAME ---------- ALLEN WARD MARTIN BLAKE CLARK ADAMS JAMES 7 rows selected. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sunfoor بتاريخ: 2 مايو 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 2 مايو 2009 مشكور اخي الكريم ألحين فهمت اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.