بتاريخ: 14 نوفمبر 200520 سنة comment_51541 اتمنى منكم ان تجيبوني على استفساري الوحيد وهو لماذا هنا يريد تريتب النتائج بناءاً على ايام الاسبوع ويبدأ الاسبوع مكن يوم الاثنين لكنه وضع الصيغة الاتيى في الترتيب TO_CHAR(hire_date - 1, ’d’); ، سؤالي ما الفائدة من وضع hire_date - 1Display the last name, hire date, and day of the week on which the employee started. Labelthe column DAY. Order the results by the day of the week starting with Monday.SELECT last_name, hire_date,TO_CHAR(hire_date, ’DAY’) DAYFROM employeesORDER BY TO_CHAR(hire_date - 1, ’d’); تقديم بلاغ
بتاريخ: 14 نوفمبر 200520 سنة comment_51547 الاخ الكريمطبعا كما هو معلوم ان بداية الايام هو يوم الاحد ويرمز له بالرقم واحد حيث المقصود ب to_char(hiredate,'d') هو ترتيب اليوميعني لو قلناله select to_char(hiredate,'day'),to_char(hiredate,'d') from empمثلاسوف يطلع النتج التاليsunday 1monday 2وهكذا لذلك اذا اردت ان يبدا بترتيب الايام من يوم الاثنين فتقول له ان ينقص واحد لو فرضنا انك تريد ان تجعل بداية الترتيب من يوم الثلاثاء تقول له ناقص 2وهكذااليك مثال SQL> SELECT ename, 2 hiredate, 3 TO_CHAR (hiredate, 'DAY') day, 4 DECODE (TO_CHAR (hiredate, 'D') - 1, 0, 7, TO_CHAR (hiredate, 'D') - 1) day2 5 FROM emp 6 ORDER BY DECODE (TO_CHAR (hiredate, 'D') - 1, 0, 7, TO_CHAR (hiredate, 'D') - 1) 7 / ENAME HIREDATE DAY DAY2 ---------- --------- --------- ---------- MARTIN 28-SEP-81 MONDAY 1 CLARK 09-JUN-81 TUESDAY 2 KING 17-NOV-81 TUESDAY 2 TURNER 08-SEP-81 TUESDAY 2 SMITH 17-DEC-80 WEDNESDAY 3 ADAMS 12-JAN-83 WEDNESDAY 3 JONES 02-APR-81 THURSDAY 4 FORD 03-DEC-81 THURSDAY 4 SCOTT 09-DEC-82 THURSDAY 4 JAMES 03-DEC-81 THURSDAY 4 ALLEN 20-FEB-81 FRIDAY 5 BLAKE 01-MAY-81 FRIDAY 5 MILLER 23-JAN-82 SATURDAY 6 WARD 22-FEB-81 SUNDAY 7 تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.