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

تحويل التاريخ الى رقم


kolen

Recommended Posts

السلام عليكم

أسئل عن كيفية تحويل التاريخ إلى رقم لتتم عملية المقارنة
مثال
التاريخ بالشكل التالي 27/06/2010 إريد ان إقارنه بالرقم 20100627

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

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

شكراً جزيلاً لردكم لكن هناك ملاحظات
1- الفورمز لا يوجد به كود أعطاني هذي الرسالة
PDE-PEP006 Encoded program unit has an unknown format
My forms is 32 bit version 9.0.4.0.19
2- بالنسبة لجملة الـ SQL تعمل معاي إذا كان التاريخ مدخل باليد مثل الجملة التالية
select supplier_no
from sp_pur_orders
where sp_pur_orders.bill_no = :bill_no
and insert_dt =to_number(replace('20100627','/'))

أما في حالة الجملة التالية والتي يتم إستخدامها في التقرير
select supplier_no
from sp_pur_orders
where sp_pur_orders.bill_no = :bill_no
and insert_dt = to_number(replace(':insert_dt','/'));
يظهر الخطاء التالي
ORA-01722 invalid number
حيث إن :inseert_dt هو عبارة عن تاريخ لكن مخزن في قاعدة البيانلت على شكل رقم مثل 20100726
وأقوم بتحويله إلى تاريخ عن طريق الجمله التالية في التقرير ليظهر التاريخ
to_date(to_char(insert_dt,'99999999'),'YYYY/MM/DD')insert_dt
وأريد ان أقوم بأرجاع هذا التاريخ إلى رقم ليتم مقارنته بالرقم الموجود في قاعدة البيانات
أرجو ان يكون الشرح واضح
ولكم جزيل الشكر

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


شكراً جزيلاً لردكم لكن هناك ملاحظات
1- الفورمز لا يوجد به كود أعطاني هذي الرسالة
PDE-PEP006 Encoded program unit has an unknown format
My forms is 32 bit version 9.0.4.0.19
2- بالنسبة لجملة الـ SQL تعمل معاي إذا كان التاريخ مدخل باليد مثل الجملة التالية
select supplier_no
from sp_pur_orders
where sp_pur_orders.bill_no = :bill_no
and insert_dt =to_number(replace('20100627','/'))

أما في حالة الجملة التالية والتي يتم إستخدامها في التقرير
select supplier_no
from sp_pur_orders
where sp_pur_orders.bill_no = :bill_no
and insert_dt = to_number(replace(':insert_dt','/'));
يظهر الخطاء التالي
ORA-01722 invalid number
حيث إن :inseert_dt هو عبارة عن تاريخ لكن مخزن في قاعدة البيانلت على شكل رقم مثل 20100726
وأقوم بتحويله إلى تاريخ عن طريق الجمله التالية في التقرير ليظهر التاريخ
to_date(to_char(insert_dt,'99999999'),'YYYY/MM/DD')insert_dt
وأريد ان أقوم بأرجاع هذا التاريخ إلى رقم ليتم مقارنته بالرقم الموجود في قاعدة البيانات
أرجو ان يكون الشرح واضح
ولكم جزيل الشكر



السلام عليكم
جرب هذا الكود بعد التعديل:

Select Supplier_No 
 From Sp_Pur_Orders
Where Sp_Pur_Orders.Bill_No = :Bill_No
  And Insert_Dt             = To_Number(Replace(:Insert_Dt,'/'));



موفق.

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

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

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

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

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

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

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

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