Download presentation
Presentation is loading. Please wait.
Published byEstella French Modified over 8 years ago
1
مقدمة قواعد بيانات - أوراكل الفـصـل الــرابــع دوال الصف الواحد أ. جمانه الحازمي
2
أنواع الدوال SQL Functions Single-Row Functions Multiple-Row Functions
3
دوال الصف الواحد Single-Row Functions دوال تتعامل مع بيانات صف واحد فقط وتكون نتيجتها قيمة واحدة فقط تستخدم في أي مكان من جملة SELECT ما عدا جزء FROM تنقسم إلى أربعة أقسام : دوال حرفية Character Functions دوال رقمية Number Functions دوال التاريخ Date Functions دوال التحويل Conversion Functions
4
الدوال الحرفية Character Functions وظيفتهــــاالدالـــــة Function تحويل جميع الحروف إلى حروف صغيرة SmallLOWER(column\expression) تحويل جميع الحروف إلى حروف كبيرة CapitalUPPER(column\expression) تحويل الحرف الأول فقط إلى حرف كبير وباقي الحروف إلى حروف صغيرة INITCAP(column\expression) ربط عمودين أو سلسلتين معاً CONCAT(column1\expression1,column2\expre ssion2) قطع جزء من عمود أو سلسلة بداية من الحرف رقم m وعدد الحروف المقطوعة n SUBSTR(column\expression,m,n) إيجاد عدد حروف السلسلة أو العمود ( الناتج عدد )LENGTH(column\expression) تحديد مكان حرف معين داخل سلسلة أو عمود ( الناتج عدد ) والحرف m يعبر عن الحرف المراد تحديد مكانه INSTR(column\expression,m) ضبط بيانات عمود أو سلسلة ناحية اليمين وذلك بملء حرف معين من اليسار والحرف n لتحديد الطول بعد الضبط LPAD(column\expression,n,’string’) ضبط بيانات عمود أو سلسلة ناحية اليسار وذلك بملء حرف معين من اليمين والحرف n لتحديد الطول بعد الضبط RPAD(column\expression,n,’string’) قطع حرف معين من بداية أو نهاية الكلمة فقط TRIM(‘character’ FROM column\expression)
5
أمثلة على الدوال الحرفية Character Functions Examples النتيجــــةالمثـــــال good bySELECT LOWER(‘GOOD by’) FROM dual; GOOD BYSELECT UPPER(‘GOOD by’) FROM dual; GoodSELECT INITCAP(‘GOOD by’) FROM dual; GOODBYSELECT CONCAT(‘GOOD’, ‘ BY’) FROM dual; OODSELECT SUBSTR(‘GOOD BY’,2,3) FROM dual; 4SELECT LENGTH(‘GOOD’) FROM dual; 4SELECT INSTR(‘GOOD’,’D’) FROM dual; ****AHMEDSELECT LPAD(‘AHMED’,10,’*’)FROM dual; AHMED*****SELECT LPAD(‘AHMED’,10,’*’)FROM dual; AMISELECT TRIM(‘S’ FROM ‘SAMI’) FROM dual;
6
Example 1 SQL>SELECT LOWER(ename), UPPER(job), INITCAP(job), CONCAT(ename,job) FROM emp WHERE sal =3000; CONCAT(ENAME,JOB)INITCAP(JOB)UPPER(JOB)LOWER(ENAME) SCOTTANALYST FORDANALYST Analyst ANALYST scott ford
7
Example 2 SQL>SELECT ename, SUBSTR(ename,2,3), LENGTH(ename), INSTR(ename,’K’) FROM emp WHERE LOWER(job)=‘manager’; INSTR(ENAME,’K’)LENGTH(ENAME) SUBSTR(ENAME,2,3 )ENAME 045045 555555 ONE LAK LAR JONES BLAKE CLARK
8
Example 3 SQL>SELECT ename, TRIM(‘S’ FROM ename), LPAD(ename,10,’*’), RPAD(ename,10,’#’) FROM emp WHERE sal>2500; RPAD(ENAME,10,’*’)LPAD(ENAME,10,’*’)TRIM(‘S’ FROM ENAME) ENAME JONES##### BLAKE##### SCOTT##### KING###### FORD###### *****JONES *****BLAKE *****SCOTT ******KING ******FORD JONE BLAKE COTT KING FORD JONES BLAKE SCOTT KING FORD
9
الدوال الرقمية Number Functions وظيفتهــــاالــدالـــة Function قص عدد معين من الجزء العشري مع تقريب الأعداد إلى أقرب عدد عشري أو إلى عدد صحيح والحرف n يبين عدد الأرقام بعد الفاصلة العشرية ROUND(column\expression,n) قص عدد معين من الجزء العشري بدون تقريب TRUNC (column\expression,n) إيجاد باقي قسمة العدد m على العدد nMOD(m,n)
10
Example 4 SQL>SELECT ROUND(45.923,0), ROUND(45.923,2), ROUND(45.923,-1), ROUND(45.923,-2) FROM dual; ROUND(45.923,-2)ROUND(45.923,-1)ROUND(45.923,2)ROUND(45.923,0) 05045.9246
11
Example 5 SQL>SELECT TRUNC(45.923,0), TRUNC(45.923,2), TRUNC(45.923,-1), TRUNC(45.923,-2) FROM dual; TRUNC(45.923,-2)TRUNC(45.923,-1)TRUNC(45.923,2)TRUNC(45.923,0) 04045.9245
12
Example 6 SQL>SELECT ename, sal, comm, MOD(sal,comm) FROM emp WHERE sal=1600; MOD(SAL,COMM)COMMSALENAME 1003001600ALLEN
13
دوال التاريخ Date Functions وظيفتهــــاالدالـــــة Function عرض تاريخ النظام الموجود بجهاز الحاسب الآلي ( تاريخ اليوم الحالي )SYSDATE إيجاد عدد الأشهر ين تاريخين MONTHS_BETWEEN(date1,date2) إضافة عدد معين من الأشهر على تاريخ معطى ADD_MONTHS(date,n) إيجاد تاريخ يوم معين بعد تاريخ معطى NEXT_DAY(date,’day’) إيجاد آخر يوم في الشهر لتاريخ معطى LAST_DAY(date) تقريب التاريخ لأقرب شهر أو سنة ROUND(date) قص التاريخ لأقرب شهر أو سنة TRUNC(date)
14
Example 7 SQL>SELECT SYSDATE FROM dual; SYSDATE 25-01-2004
15
Example 8 SQL>SELECT empno, hiredate, MONTHS_BETWEEN(sysdate,hiredate) FROM emp WHERE hiredate LIKE ‘%1978’; MONTHS_BETWEEN(SYSDATE,HIREDATE)HIREDATEEMPNO 201.200404 200.071371 19-04-1987 23-05-1987 7788 7876
16
Example 9 SQL>SELECT empno, hiredate, ADD_MONTHS(HIREDATE,6), LAST_DAY(HIREDATE) FROM emp WHERE hiredate LIKE ‘%1978’; LAST_DAY(HIREDATE) ADD_MONTHS(HIREDATE,6)HIREDATEEMPNO 30-04-1987 31-05-1987 19-10-1987 23-11-1987 19-04-1987 23-05-1987 7788 7876
17
Example 10 SQL>SELECT empno, hiredate, NEXT_DAY(hiredate,’FRIDAY’) FROM emp WHERE hiredate LIKE ‘%1978; NEXT_DAY(HIREDATE)HIREDATEEMPNO 24-04-1987 29-05-1987 19-04-1987 23-05-1987 7788 7876
18
دوال التحويل Conversion Functions يوجد أنواع كثيرة من البيانات DATA TYPE بيانات رقمية NUMBER بيانات حرفية CHARACTER بيانات تاريخ DATE دوال التحويل تقوم بتحويل البيانات من نوع إلى آخر وظيفتهــــاالدالـــــة Function تحويل البيانات الرقمية أو بيانات التاريخ إلى بيانات حرفية بشكل معين (FORMAT) حسب الطلب fmt TO_CHAR(DATE\NUMBER,’fmt’) تحويل البيانات الحرفية إلى بيانات من نوع التاريخ بشكل معين (FORMAT) حسب الطلب fmt TO_DATE(CHAR,’fmt’) تحويل البيانات الحرفية إلى بيانات رقمية بشكل معين (FORMAT) حسب الطلب fmt TO_NUMBER(CHAR,’fmt’)
19
Example 11 SQL>SELECT sysdate, TO_CHAR(sysdate,’DD/MM/YYYY’) FROM dual; TO_CHAR(SYSDATE,’DD/MM/YYYY’)SYSDATE 26/01/200426-01-2004
20
Example 12 SQL>SELECT empno, TO_CHAR(hiredate,’DAY “OF” MONTH YYYY HH12:MI:SS AM’) FROM emp WHERE ename=UPPER(‘king’); TO_CHAR(HIREDATE,’DAY “OF” MONTH YYYY HH12:MI:SS AM’)EMPNO TUESDAY OF NOVEMBER 1981 12:00:00 AM7839
21
Example 13 SQL>SELECT empno, TO_CHAR(sal,’$99,999’) salary FROM emp WHERE sal > 2500; SALARYEMPNO $2,975 $2,850 $3,000 $5,000 $3,000 7566 7698 7788 7839 7902
22
Example 14 SQL>SELECT TO_DATE(‘FEBRUARY 22,1981’,’MONTH DD,YYYY’) FROM dual; TO_DATE(‘FEBRUARY 22,1981’,’MONTH DD,YYYY) 22-FEB-1981
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.