تمارين محلولة في دوال الصف الواحد
في الدرس السابق تحدثنا على الدوال و كان لا يمكن بأن نرفق درس به تمارين متعددة لكي تفهموا الدرس السابق بشكل افضل.
التمرين الأول
عرض أسماء الموظفين ثم قطع جزء من الأسماء و عرضها في حقل آخر بإستخدام دالة (SUBSTR(ENAME,2,3F) إبتداءً من الحرف رقم 2 بمسافة "3" أحرف ثم عرض عدد احرف اسماء الموظفين بإستخدام الدالة (LENGTH) ثم عرض ترتيب الحرف 'K' إبتداءً من اليسار مع إستخدام دالة WHERE لتفادي الخطأ.
SQL> SELECT ename,
2 SUBSTR(ename,2,3),LENGTH(ename),INSTR(ename,'K')
3 FROM emp
التمرين الثاني
عرض إسم الموظف و راتبه و عمولته وباقي قسمة راتبه على ما يأخذ من عمولة.
SQL> SELECT ename , sal , comm , MOD(sal,comm)
2 FROM emp
3 WHERE sal=1600 ;
التمرين الثالث
عرض أسماء الموظفين ثم عرض الأسماء بعد قص حرف 'S' بإستخدام الدالة (TRIM) من بداية الأسم أو نهايتة ثم عرض اسماء الموظفين و إضافة بعض الرموز (*) من بداية الأسم بحيث يكون طول الأسم عشرة أحرف بإستخدام الدالة (LPAD) ثم عرض أسماء الموظفين مع إضافة بعض الرموز (#) من نهاية الأسم ليصبح طول الأسم عشرة أحرف بإستخدام الدالة (RPAD).
SQL>SELECT ename,TRIM('S' FROM ename), LPAD(ename,10,'*') , RPAD(ename,10,'#')
2 FROM emp
التمرين الرابع
عرض إسم الموظف و رقم الموظف و الراتب و تحويل الراتب إلى قيمة حرفية بحيث تكون صيغة الراتب على الشكل التالي ('sal , '$99,999).
SQL> SELECT empno, ename,sal, TO_CHAR(sal , '$99,999') salary
2 FROM emp
ملاحظة عن '99,999$'
الرقم 9 : عند تكرار هذا الرقم فإنه يمثل عدد الخانات التي تظهر عندما نكتب (99) يعني ظهور رقمين.
الرقم 099 : يعني ظهور رقم و قبلة صفر.
الرقم 990 : يعني ظهور صفر إذا كانت القيمة معدومة.
الرقم $99 : ظهور علامة الدولار قبل الرقم و تكون العلامة العشرية بعد رقمين.
الفاصلة . : إظهار العلامة العشرية.
الفاصلة الألفية , : إظهار الفاصلة بين كل ثلاث ارقام.
الـ M1 : إظهار علامة السالب إذا كانت القيمة سالبة.
ليست هناك تعليقات:
إرسال تعليق