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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

ملحوظه هامه جدااا أرجوا المساعده ؟؟ في دوال التحويل


لا توجد ردود على هذا الموضوع

#1 waleed_prog

waleed_prog

    عضو

  • الأعضــاء
  • 28 مشاركة

تاريخ المشاركة 15 May 2007 - 03:49 PM

في دالة التحويل الخاصه بتحويل من الرقم لنص
SQL> SELECT TO_CHAR(1234,'9999')
  2  FROM DUAL;

TO_CH
-----
 1234
هذا مثال علي التحويل عادي مفهوش أي مشاكل وتم التحويل بالفعل عادي
ولكن الفرمات موجوده بعدد معين لاني عارف العدد المتواجد وهما 4 أرقام ولذالك وضعت 4 من الـ 9
ولكن لو تم تطبيقه علي حقل فيحتمل تواجد عدد من الارقام أكبر
علي سبيل المثال لو انا كتبت 4 من الــ 9
ولكن في الحقل هناك سجل عدده أو طوله 5
مثال

SQL> SELECT TO_CHAR(12345,'9999')
  2  FROM DUAL;

TO_CH
-----
#####
سوف يظهر كما في المثال وهذا بالطبع غير منطقي جداا
ولكن السؤال هل هناك حرف يتم أضافته او فرمات حتي يتم وضع الرقم مهما كان العدد في حين اني محدد الفرمات الخاصه بيه
بعني أوضح لو نفترض ان في حرف وليكن E عند وضعه بجانب الارقام الصحيحه فيتم ظهور الارقام الصحيحه أي كان طولها
مثال

SQL> SELECT TO_CHAR(12345,'E9999')
  2  FROM DUAL;

TO_CH
-----
12345
كما هو موضح بالمثال (المثال غير صحيح انا كتبه بأيدي للتوضيح فقط)
والحرف ده انا لو كتبته مع الارقام العشريه يظهر كل الارقام العشريه اي كان طولها ؟؟؟
أرجوا ان اكون أستطعت توضيح السؤال
ملحوظه هناك حل من خلال دالة LENGTH
عمل أسكربت بالتحايل عليها
ولكن انا أعتقد ان لها حل أخر فارجوا لو هناك مساعده أذا كان بالتأكيد ان في حل بالفعل أخر ام لا واذا كان يوجد فما هو ؟؟
وشكراا