• 0
faried

التاريخ وكيف التصرف معه

سؤال

إخواني كيف لي أن أتحكم في هيئة التاريخ أثناء تصميمي للجداول

لأن الهيئة (dd-mm-yy) لها مشاكلها بالإضافة أن أغلب ملفات الـsql الموجودة كأمثلة تستخدم الهيئة(dd-mon-yy) ،،،،،،،،،،،،

أفيدونا أفادكم الله ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

10 إجابة على هذا السؤال .

  • 0

بسم الله الرحمن الرحيم

أخي لا تشغل نفسك بكييفية تخزين حقول التاريخ في أوراكل أثناء تصميم الجداول ولكن يمكن عرض بيانات التاريخ باستخدام هيئات مختلفة مثل dd/mm/yyyy أو dd/mm/yyyy hh:mi am وغير ذلك ويمكنك التحكم في هيئة إدخال التاريخ عن طريق الديفيلوبر. وأرجو منك التوضيح أكثر كي نستطيع المساعدة أكثر.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

معلوماتي بسيطة جدا في الاوراكل ويلي اعرفه ان الطريقة التي تخزن بها اوراكل في حقل التاريخ هي طريقة جوليان وهي طريقة عد الايام اي تخزن حقل التاريخ على هيئة ارقام بحيث تعتبر يوم 1 يناير من عام 4712 قبل الميلاد هو اول ارقام هذا التاريخ، واخر الايام هو 31 ديسمبر 4712 بعد الميلا هو اقصى او اخر ايام التاريخ في يمكن تخزينه في حقل من نوع تاريخ في اوراكل، بمعنى انه الشكل الظاهر للتاريخ لا تعتمد عليه اوراكل في حسباتها وهذه من اهم مزايا طريق جوليان ، ويمكن عرض التاريخ في اوراكل بصيغ جوليان وذلك

Select to_char(sysdate,'j') from dual;

بعد تجربة هدا الكود سيعطيك رقم التاريخ والوقت الحالي للجهاز بطريقة جوليان

وحسب ما اعرف لو كانت عندك حسابات تعتمد اعتمادا كليا على التاريخ والوقت مثل حساب فواتير الفنادق او فواتير الكهرباء او اي شي يتحرى فيه الدقة باليوم والساعة والدقيقة يفضل استعمال عداد جوليان في الحساب وذلك تحسبا لاي شي

وبالنسبة للادخال التاريخ في اوراكل لا تفكر في هذا الموضوع اطلاقا فيمكنك تحديد قناع الادخال عن طريق الديفوليبر او طريقة الادخال بالضبط

مع تحياتي طارق موسى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عزيزي فريد

سؤالك جميل، وبالتأكيد العديد كنا واجه هذه ال (مشكلة). ولكن حقيقة ليست هي بالمشكلة. فبارك الله في الأخ طارق الذي أفاد في هذا الأمر. ولك مني الزيادة.

تقوم أوراكل بتعريف التاريخ في حقل date وتقوم بإظهارة تلقائياً بالصورة التى حددت لها في تعريفات أوراكل. وهى صورة تلقائية default يمكن تغييرها. ولكن النصح كله لكل مبتدئ أن لا يحاول تغيير أي من هذه القيم. وبما أن هذه القيم يمكن تغيير صورها في التقارير فلا يؤثر ذلك وأتركها كما هي وقم بإختيار الصورة التي ترغب في كل تقرير على حدة. مع العلم بان SQL تتعامل مع حقول التأريخ بصورتها التلقائية إذا لم يطلب منها غير ذلك.

كما أنه يمكنك حفظ التأريخ في حقول رقمية على أن تكون بطول 10 على الأقل NUMBER(10 ولتحويل ذلك إلى حقل تاريخ تقوم بالأمر.

TO_DATE(field_name,'DD/MM/YYYY')T وتستطيع تغيير الأمر DD/MM/YYYY غلى أي صيغة تاريخ صحيحة. كما يمكنك تحويل صيغة التاريخ إلى صيغة رقمية عن طريق الأمر TO_CHAR

والله الموفق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكراً أخي طارق واخي كمال وجزاكم الله خيراً ، فهمت ما تكلمتم عنه وأشكركم ... ولعلي أقدر أفيدكم في أي يوم من الأيام في أي شيئ ،، وعلى فكرة أنا لسه جاي من الـVB جديد فياريت أي خدمة أقدر عليها

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بداية مبروك على هذا المنصب الجديد وأعانك الله عليه.....

أشكرك على ردك الذي أثراني واستفدت منه الكثير ....

بالنسبة لكل الأمثلة التي تستخدم في إنشاء أي جداول مع وضع بيانات فيها ، يكون فيها حقل التاريخ على الهيئة dd-mon-yy وأنا عندما أحاول تنفيذ ملف الـsql الذي يحتوي على الجمل التي تقوم بوضع قيم لحقل التاريخ بالصيفة السابقة مثل 22-FEB-1999 فإن ذلك يؤدي إلى حدوث رسالة خطأ على كل الجمل التي تحتوي على مثل هذه البيانات ، فأضر ان أفتح ملف الـSQL في برنامج الـWORD وأعمل REPLACE لكل هذه القيم وأضع مكان FEB مثلاً 2 ومكان OCT 10 وهكذا ،،،،، فهل لاتوجد طريقة أخرى لذلك ...

ولك جزيل الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي فريد. الطرقة الصحيحة لتمرير قيم التاريخ هلى تحديد نوع وشكل التاريخ أثناء الإدخال.

فمثلا لو كان لدينا ملف بيانات بالإسم my_data_file يحتوى على حقلين الأول رقمي والثاني تاريخ. فيكون الأمر كاللآتي:

INSERT INTO my_data_file

SELECT (1,TO_DATE('06/04/2001','DD/MM/YYYY') FROM DUAL

OR

INSERT INTO my_data_file

SELECT (1,TO_DATE(',04-APR-2001','DD-MON-YYYY') FROM DUAL

مما يعني أن تحدد طريقة إدخالك للتاريخ على نفس الأمر لتتعرف عليه ال SQL. وحينها يمكنك تسجيل بياناتك بالطريقة الصحيحة.

أتمنى أن أكون قد أوضحت. فإن لم تفلح. أرجو إرسال الأمر الذي تريد إستخدامه، وتفاصيل الجدول المستخدم فيها.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي فريد يلي اعرفه ان صيغة التاريخ المتفق عليها في لجان توحيد لغة الاس كيو ال ( لا اعرف الاسم تحديدا ) للاستعمال في الجمل ما لم تحدد الصيغة بنفسك اي الصيغة الافتراضيه هي

mm/dd/yyyy

ربما هذا قد يفيدك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شاكر لكم إهتمامكم .............

كما أوضحت من قبل ، أغلب ملفات الـsql التي تستخدم في إضافة بيانات لجداول منشأة من قبل يكون فيها الأمر insert الخاص بحقل التاريخ كالتالي ..

insert into tab1.fld1 values('12-oct-98');

وهذه الجملة لا تنفذ إلا لو كتبت رقم الشهر وهو 10 مكان oct ..

وهناك الملف الخاص بالـdemo يحتوي على أكثر من جملة لذلك

وهذا الملف هو DEMOS201.SQL تحت المسار التالي

C:ORAWIN95DEVDEMO20ADMIN

أوضحت في رسالة سابقة تفصيل أكثر لهذا الموضوع

شاكر لكم التعاون المستمر وجزاكم الله خيراً..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله وبركاته

- كيف بالامكان ان اظهر التاريخ الموجود على جهازي في حقل التاريخ

كيف اجعله يظهر لي الارقام بشكل تسلسلي

1

2

3

.

.

بمعني مثلا الموظف رقم واحد اسجل معلوماته عند الانتهاء منه اريد تسجيل الموظف رقم 2 اريد ان تكون الارقام بشكل اتوماتيكي

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يا شباب اللي يبغي رقم متسلسل

create Sequence seqR_Id

start with 10000000

increment by 1;

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .