الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

بتاريخ:

اتمنى منكم ان تجيبوني على استفساري الوحيد وهو لماذا هنا يريد تريتب النتائج بناءاً على ايام الاسبوع ويبدأ الاسبوع مكن يوم الاثنين لكنه وضع الصيغة الاتيى في الترتيب
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

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.