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

Function أخري لإزالة المسافات الزيادة في نص


هانى سند

Recommended Posts

السلام عليكم و رحمة الله و بركاته

إخواني الكرام

إستكمالا لاثراء المكتبة بالاكواد المفيدة اليكم نسخة أخري من function لازالة المسافات الزائدة من نص

الكود:


CREATE OR REPLACE FUNCTION single_space (
  p_data   VARCHAR2
)
  RETURN VARCHAR2 IS
  v_data   VARCHAR2 (2000) := REPLACE (LTRIM (RTRIM (p_data)), '  ', ' ');
--
BEGIN
  IF INSTR (v_data, '  ') > 0 THEN
  RETURN single_space (v_data);
  ELSE
  RETURN (v_data);
  END IF;
END single_space;


select single_space(:text)
from  dual 
/




غرض و كيفية الاستخدام :


تستخدم هذه الفانكشن لازالة المسافات الزائدة من النصوص في التقارير او السيليكت حتي لا يتم احتسابها كحرف ومن الممكن ان يتم نداؤها من جملة استعلام او كفانكشن عادية

شرح الfunction :

تقوم الفانكشن علي استخدام function replace and ltrim and rtrim
و function replace تقوم باستبدال كل المسافات المزدوجة في النصوص بمسافة واحدة و الrtrim and ltrim تقوم بقطع المسافات البادئة الموجودة بالكلمة

و تقوم الfunction اولا بفحص الكلمة اذا كان بها مسافات زائدة ام لا عن طريق استعمالfunction instr

الملف بالمرفقات

مع تمنياتي بالتوفيق

single_space.txt

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

  • بعد 6 شهور...

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

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

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

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

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

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

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