الانتقال إلى المحتوى

سؤال بسيط جداً في SQL


omar-alreyati

Recommended Posts

اتمنى منكم ان تجيبوني على استفساري الوحيد وهو لماذا هنا يريد تريتب النتائج بناءاً على ايام الاسبوع ويبدأ الاسبوع مكن يوم الاثنين لكنه وضع الصيغة الاتيى في الترتيب
TO_CHAR(hire_date - 1, ’d’); ، سؤالي ما الفائدة من وضع hire_date - 1



Display the last name, hire date, and day of the week on which the employee started. Label
the column DAY. Order the results by the day of the week starting with Monday.
SELECT last_name, hire_date,
TO_CHAR(hire_date, ’DAY’) DAY
FROM employees
ORDER BY TO_CHAR(hire_date - 1, ’d’);

رابط هذا التعليق
شارك

الاخ الكريم
طبعا كما هو معلوم ان بداية الايام هو يوم الاحد ويرمز له بالرقم واحد حيث المقصود ب to_char(hiredate,'d') هو ترتيب اليوم
يعني لو قلناله
select to_char(hiredate,'day'),to_char(hiredate,'d') from emp
مثلا
سوف يطلع النتج التالي

sunday 1
monday 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

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية