إخواني كيف لي أن أتحكم في هيئة التاريخ أثناء تصميمي للجداول
لأن الهيئة (dd-mm-yy) لها مشاكلها بالإضافة أن أغلب ملفات الـsql الموجودة كأمثلة تستخدم الهيئة(dd-mon-yy) ،،،،،،،،،،،،
أفيدونا أفادكم الله ...
إخواني كيف لي أن أتحكم في هيئة التاريخ أثناء تصميمي للجداول
لأن الهيئة (dd-mm-yy) لها مشاكلها بالإضافة أن أغلب ملفات الـsql الموجودة كأمثلة تستخدم الهيئة(dd-mon-yy) ،،،،،،،،،،،،
أفيدونا أفادكم الله ...
بسم الله الرحمن الرحيم
أخي لا تشغل نفسك بكييفية تخزين حقول التاريخ في أوراكل أثناء تصميم الجداول ولكن يمكن عرض بيانات التاريخ باستخدام هيئات مختلفة مثل dd/mm/yyyy أو dd/mm/yyyy hh:mi am وغير ذلك ويمكنك التحكم في هيئة إدخال التاريخ عن طريق الديفيلوبر. وأرجو منك التوضيح أكثر كي نستطيع المساعدة أكثر.
السلام عليكم
معلوماتي بسيطة جدا في الاوراكل ويلي اعرفه ان الطريقة التي تخزن بها اوراكل في حقل التاريخ هي طريقة جوليان وهي طريقة عد الايام اي تخزن حقل التاريخ على هيئة ارقام بحيث تعتبر يوم 1 يناير من عام 4712 قبل الميلاد هو اول ارقام هذا التاريخ، واخر الايام هو 31 ديسمبر 4712 بعد الميلا هو اقصى او اخر ايام التاريخ في يمكن تخزينه في حقل من نوع تاريخ في اوراكل، بمعنى انه الشكل الظاهر للتاريخ لا تعتمد عليه اوراكل في حسباتها وهذه من اهم مزايا طريق جوليان ، ويمكن عرض التاريخ في اوراكل بصيغ جوليان وذلك
Select to_char(sysdate,'j') from dual;
بعد تجربة هدا الكود سيعطيك رقم التاريخ والوقت الحالي للجهاز بطريقة جوليان
وحسب ما اعرف لو كانت عندك حسابات تعتمد اعتمادا كليا على التاريخ والوقت مثل حساب فواتير الفنادق او فواتير الكهرباء او اي شي يتحرى فيه الدقة باليوم والساعة والدقيقة يفضل استعمال عداد جوليان في الحساب وذلك تحسبا لاي شي
وبالنسبة للادخال التاريخ في اوراكل لا تفكر في هذا الموضوع اطلاقا فيمكنك تحديد قناع الادخال عن طريق الديفوليبر او طريقة الادخال بالضبط
مع تحياتي طارق موسى
لا يتعلم العلم كل مستحي او مستكبر
عزيزي فريد
سؤالك جميل، وبالتأكيد العديد كنا واجه هذه ال (مشكلة). ولكن حقيقة ليست هي بالمشكلة. فبارك الله في الأخ طارق الذي أفاد في هذا الأمر. ولك مني الزيادة.
تقوم أوراكل بتعريف التاريخ في حقل date وتقوم بإظهارة تلقائياً بالصورة التى حددت لها في تعريفات أوراكل. وهى صورة تلقائية default يمكن تغييرها. ولكن النصح كله لكل مبتدئ أن لا يحاول تغيير أي من هذه القيم. وبما أن هذه القيم يمكن تغيير صورها في التقارير فلا يؤثر ذلك وأتركها كما هي وقم بإختيار الصورة التي ترغب في كل تقرير على حدة. مع العلم بان SQL تتعامل مع حقول التأريخ بصورتها التلقائية إذا لم يطلب منها غير ذلك.
كما أنه يمكنك حفظ التأريخ في حقول رقمية على أن تكون بطول 10 على الأقل NUMBER(10 ولتحويل ذلك إلى حقل تاريخ تقوم بالأمر.
TO_DATE(field_name,'DD/MM/YYYY')T وتستطيع تغيير الأمر DD/MM/YYYY غلى أي صيغة تاريخ صحيحة. كما يمكنك تحويل صيغة التاريخ إلى صيغة رقمية عن طريق الأمر TO_CHAR
والله الموفق
شكراً أخي طارق واخي كمال وجزاكم الله خيراً ، فهمت ما تكلمتم عنه وأشكركم ... ولعلي أقدر أفيدكم في أي يوم من الأيام في أي شيئ ،، وعلى فكرة أنا لسه جاي من الـVB جديد فياريت أي خدمة أقدر عليها
بداية مبروك على هذا المنصب الجديد وأعانك الله عليه.....
أشكرك على ردك الذي أثراني واستفدت منه الكثير ....
بالنسبة لكل الأمثلة التي تستخدم في إنشاء أي جداول مع وضع بيانات فيها ، يكون فيها حقل التاريخ على الهيئة dd-mon-yy وأنا عندما أحاول تنفيذ ملف الـsql الذي يحتوي على الجمل التي تقوم بوضع قيم لحقل التاريخ بالصيفة السابقة مثل 22-FEB-1999 فإن ذلك يؤدي إلى حدوث رسالة خطأ على كل الجمل التي تحتوي على مثل هذه البيانات ، فأضر ان أفتح ملف الـSQL في برنامج الـWORD وأعمل REPLACE لكل هذه القيم وأضع مكان FEB مثلاً 2 ومكان OCT 10 وهكذا ،،،،، فهل لاتوجد طريقة أخرى لذلك ...
ولك جزيل الشكر
أخي فريد. الطرقة الصحيحة لتمرير قيم التاريخ هلى تحديد نوع وشكل التاريخ أثناء الإدخال.
فمثلا لو كان لدينا ملف بيانات بالإسم 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. وحينها يمكنك تسجيل بياناتك بالطريقة الصحيحة.
أتمنى أن أكون قد أوضحت. فإن لم تفلح. أرجو إرسال الأمر الذي تريد إستخدامه، وتفاصيل الجدول المستخدم فيها.
اخي فريد يلي اعرفه ان صيغة التاريخ المتفق عليها في لجان توحيد لغة الاس كيو ال ( لا اعرف الاسم تحديدا ) للاستعمال في الجمل ما لم تحدد الصيغة بنفسك اي الصيغة الافتراضيه هي
mm/dd/yyyy
ربما هذا قد يفيدك
لا يتعلم العلم كل مستحي او مستكبر
شاكر لكم إهتمامكم .............
كما أوضحت من قبل ، أغلب ملفات الـsql التي تستخدم في إضافة بيانات لجداول منشأة من قبل يكون فيها الأمر insert الخاص بحقل التاريخ كالتالي ..
insert into tab1.fld1 values('12-oct-98');
وهذه الجملة لا تنفذ إلا لو كتبت رقم الشهر وهو 10 مكان oct ..
وهناك الملف الخاص بالـdemo يحتوي على أكثر من جملة لذلك
وهذا الملف هو DEMOS201.SQL تحت المسار التالي
C:ORAWIN95DEVDEMO20ADMIN
أوضحت في رسالة سابقة تفصيل أكثر لهذا الموضوع
شاكر لكم التعاون المستمر وجزاكم الله خيراً..
السلام عليكم ورحمة الله وبركاته
- كيف بالامكان ان اظهر التاريخ الموجود على جهازي في حقل التاريخ
كيف اجعله يظهر لي الارقام بشكل تسلسلي
1
2
3
.
.
بمعني مثلا الموظف رقم واحد اسجل معلوماته عند الانتهاء منه اريد تسجيل الموظف رقم 2 اريد ان تكون الارقام بشكل اتوماتيكي
تحياتي
يا شباب اللي يبغي رقم متسلسل
create Sequence seqR_Id
start with 10000000
increment by 1;
هذا الموضوع مغلق.