بتاريخ: 13 فبراير 201214 سنة comment_220711 انا عندي ملف csv و عندما اجلب التاريخ باستخدام text_io فانه يصبح على النحو التالي08:36:20 2011-09-30 و انا كتبت كود على البي ال لحل لمتابعة المشكلة' declarev_date varchar2(20);v_time varchar2(20);beginexecute immediate 'alter session set nls_date_format=''dd-mm-yyyy''';v_date := '2011-09-20';v_time := '08:36:30';--v_date:=trunc(v_date);--v_time:=TO_date(v_time, 'HH24:MI:SS') ;dbms_output.put_line('v_date: '||v_date||'v_time: '||v_time); begininsert into att(att_date,att_time) values(to_date(v_date,'dd-mm-yyyy'),to_date(v_time,'h24:mi:ss'));commit;exception when others thendbms_output.put_line('sql error: '||sqlerrm);end;exception when others thendbms_output.put_line('sql error1: '||sqlerrm);end;end; و ينتج هذا الخطا: ORA-01861: literal does not match format string ارجوا الحل و شكرا على حسن الاستماع تقديم بلاغ
بتاريخ: 14 فبراير 201214 سنة comment_220719 المشكلة بسيطة جدافقطv_date := '20-09-2011'بدلا عن2011-09-20وشكرا تم تعديل 14 فبراير 201214 سنة بواسطة Shibeika تقديم بلاغ
بتاريخ: 14 فبراير 201214 سنة كاتب الموضوع comment_220720 المشكلة عندي ان البينات تاتي على شكل 30-09-2011 و ليس على شكل 2011-09-30و انا هنا مضطر لوضع التاريخ على هذه الهيئة لمحاكاة المشكلةو ان الكود السابق فقط لمعرفة اين تكمن المشكلة و ليس هو الكود الفعليارجوا الرد بعد تجريب الكود على قاعدة بينات خاصة بكمبعد انشاء جدول على هذا الشكلcreatetable att (att_date date , att_time date);و شكرا لكم تقديم بلاغ
بتاريخ: 14 فبراير 201214 سنة comment_220723 السلام عليكمقمت بتجربة المثال واستخدمت : To_Date(V_Date, 'rrrr-mm-dd') وقام بادخال التاريخ كالتالي:20/09/2011هل هذا ما تريد ؟؟ تقديم بلاغ
بتاريخ: 14 فبراير 201214 سنة كاتب الموضوع comment_220724 عدلت الكود على الفورمات الجديد و لكن لم يعملو ارسل الخطأ التاليora-01821: date format not recognizedهل من نصيحة بهذا الخصوصو ارجوا منك ارفاق الكود الذي عمل معك دون مشاكل و شكرا تقديم بلاغ
بتاريخ: 14 فبراير 201214 سنة comment_220726 السلام عليكمجرب ادخال التاريخ فقط: Insert Into Att(Att_Date,Att_Time) Values (To_Date(V_Date, 'rrrr-mm-dd'), To_Char(To_Date('08:36:30', 'HH24:MI:SS'), 'HH24:MI:SS')); في هذه الحالة يجب تغيير Data Type لعمود الوقت الى Varchar2 تقديم بلاغ
بتاريخ: 14 فبراير 201214 سنة comment_220727 السلام عليكم و رحمة الله و بركاتهأخي الحبيب، المشكلة ليست فقط التاريخ، بل أيضاً في صيغة الوقتيرجى تصحيح التالي : insert into att(att_date,att_time) values (to_date(v_date,[color=#ff0000]'YYYY-MM-DD'[/color]),to_date(v_time,'h[color=#ff0000]H[/color]24:mi:ss')); و لا يوجد داعي لاستخدام " execute immediate 'alter session set nls_date_format=''dd-mm-yyyy'''; "ليصبح الكود كالتالي: declare v_date varchar2(20); v_time varchar2(20); begin v_date := '2011-09-20'; v_time := '08:36:30'; dbms_output.put_line('v_date: '||v_date||' v_time: '||v_time); begin insert into att(att_date,att_time) values (to_date(v_date,'YYYY-MM-DD'),to_date(v_time,'hH24:mi:ss')); commit; exception when others then dbms_output.put_line('sql error: '||sqlerrm); end; exception when others then dbms_output.put_line('sql error1: '||sqlerrm); end; / تقديم بلاغ
بتاريخ: 14 فبراير 201214 سنة comment_220733 insert into att(att_date,att_time) values(to_date(v_date,'yyyy-mm-dd'),to_date(v_time,'h24:mi:ss')); تم تعديل 14 فبراير 201214 سنة بواسطة Shibeika تقديم بلاغ
بتاريخ: 14 فبراير 201214 سنة كاتب الموضوع comment_220734 اخواني الاعزاءشكرا لكم لحسن تعاونكمارجوا توضيح الفرق بينH24HH24HH,ومتى استخدام كل منهملتعم الفائده على الجميع تقديم بلاغ
بتاريخ: 14 فبراير 201214 سنة comment_220739 السلام عليكم و رحمة الله و بركاتهأخي الحبيب، يتم استخدامHH: لإظهار الوقت من 1 - 12، و غالبا ما يتم استخدامها مع "AM PM ..." مثل "( 11:25:14 AM )HH24: لإظهار الوقت في صيغة 0 - 24 (23:59)و بحسب علمي أنه لا يوجد في الأوراكل صيغة وقت " H " منفردة، إما " HH24 " أو " HH "بارك الله فيك تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.