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

عمل تحديث للبيانات


superwoofer

Recommended Posts

 

اريد عمل تحديث للبيانات لحقل من نوع  varchar2

هذا الحقل يحتوي علي التاريخ بهذه الصيغة dd/mm/yyyy

اريد تحديث البيانات الموجودة بالحقل لتصبح صيغة التاريخ بهذا الشكل yyyy/mm/dd بدون فقدان للبيانات الموجودة

 

 

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

السلام عليكم

قم بعمل التالي:

1- اضف عمود جديد على الجدول للتأكد ان البيانات بعد التعديل صحيحة.

ALTER TABLE xxx ADD new_date VARCHAR2(20);

2- نفذ جملة الـ Update التالية:

 

UPDATE xxx
   SET new_date =
             SUBSTR (datev, 7)
          || '/'
          || SUBSTR (datev, 4, 2)
          || '/'
          || SUBSTR (datev, 1, 2)

3- بعد التأكد ان البيانات صحيحة نفذ الجملة على العمود الأساسي واحذف العمود الثاني.

 

مرفق صورة للتوضيح.

 

post-73694-0-13703300-1421734809_thumb.png

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

Error starting at line : 2 in command -
UPDATE TABETEST SET TDATE = SUBSTR (datev,7) || '/' || SUBSTR (datev,4,2) || '/' || SUBSTR (datev,1,2)
Error at Command Line : 2 Column : 93
Error report -
SQL Error: ORA-00904: "DATEV": invalid identifier
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:

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

أخي الكريم...

 

 
Error starting at line : 2 in command -
UPDATE TABETEST SET TDATE = SUBSTR (datev,7) || '/' || SUBSTR (datev,4,2) || '/' || SUBSTR (datev,1,2)
Error at Command Line : 2 Column : 93
Error report -
SQL Error: ORA-00904: "DATEV": invalid identifier
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:

هل يوجد لديك عمود اسمه datev ؟؟

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

السلام عليكم

 

UPDATE tabetest
   SET tdate =
             SUBSTR (tdate, 7)
          || '/'
          || SUBSTR (tdate, 4, 2)
          || '/'
          || SUBSTR (tdate, 1, 2)

وخذ Backup عن الجدول.

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

السلام عليكم

 

للتأكد ان المخرجات صحيحة:

SELECT tdate, SUBSTR (tdate, 1, INSTR (tdate, '/') - 1) dd,
       SUBSTR (tdate,
               INSTR (tdate, '/') + 1,
               INSTR (tdate, '/', 1, 2) - INSTR (tdate, '/') - 1
              ) mm,
       SUBSTR (tdate, INSTR (tdate, '/', 1, 2) + 1) yyyy
  FROM tabetest

للتعديل:

 

UPDATE tabetest
   SET tdate1 =
             SUBSTR (tdate, INSTR (tdate, '/', 1, 2) + 1)
          || '/'
          || SUBSTR (tdate,
                     INSTR (tdate, '/') + 1,
                     INSTR (tdate, '/', 1, 2) - INSTR (tdate, '/') - 1
                    )
          || '/'
          || SUBSTR (tdate, 1, INSTR (tdate, '/') - 1)

post-73694-0-61532400-1421745693_thumb.png

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

السلام عليكم

افضل الدخول على جهازك من خلال Team Viewer وحل المشكلة.

لانه يبدو ان التاريخ لديك مخزن بأكثر من فورمات.

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

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

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

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

×   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.

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

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

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