تستكشف هذه المقالة استخدام الوظيفة replace () في قاعدة بيانات Oracle لاستبدال حدوث سلسلة فرعية معينة بسلسلة فرعية أخرى.
تركيب الوظيفة
يُظهر الكود التالي بناء جملة الدالة replace ():
REPLACE (source_string، substring، replace_string) ؛
تقبل الوظيفة ثلاث معاملات:
- مصدر_السلسلة - يمثل سلسلة المصدر المراد البحث عنها.
- سلسلة فرعية - يحدد السلسلة الفرعية المراد استبدالها
- سلسلة الاستبدال - تحدد السلسلة أو مجموعة الأحرف التي يتم استبدالها في مكان السلسلة الفرعية.
ترجع الدالة نوع سلسلة مع استبدال جميع تكرارات السلسلة الفرعية بـ replace_string.
أمثلة على وظيفة Oracle Replace ()
توضح الأمثلة التالية كيف تتصرف الوظيفة في ظل مختلف المعلمات وأنواع الإدخال:
مثال 1 - استبدال حدوث سلسلة فرعية
يوضح المثال أدناه الاستخدام الأساسي لوظيفة replace () مع جميع معلمات الإدخال المتوفرة.
حدد استبدال ('تطوير قاعدة بيانات أوراكل' ، 'أب' ، 'س ص') تم استبدالهمن مزدوج
يستخدم الاستعلام أعلاه الدالة replace () لاستبدال الأحرف (ab) بـ (xy). الناتج الناتج:
استبدال |
-------------------------- +
تطوير قاعدة بيانات Oracle |
مثال 2 - استخدام وظيفة الاستبدال لإزالة سلسلة فرعية
كما ذكرنا ، يمكننا استخدام وظيفة replace () لإزالة سلسلة فرعية من سلسلة المصدر. يحدث هذا عندما لا نقدم القيمة من السلسلة الفرعية كما هو موضح:
حدد استبدال ('https://linuxhint.com' ، 'https: //') كما د من ثنائي ؛حصيلة:
د |
------------- +
لينوكسينت.كوم |
مثال 3 - استبدال القيم في جدول
غالبًا ما نستخدم وظيفة replace () لاستبدال القيم في جدول قاعدة البيانات. خذ مثال الجدول الموضح:
إنشاء جدول sample_data(
رقم الهوية
first_name varchar2 (50) ،
ip_address varchar2 (20) ،
btc_address varchar2 (50) ،
Credit_card varchar2 (50) ،
معرف varchar2 (40) ،
القيد sample_pk المفتاح الأساسي (المعرف)
) ؛
إدراج في sample_data (id ، first_name ، ip_address ، btc_address ، credit_card ، معرف)
القيم (11، 'Wallas'، '169.158.70.77'، '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q'، '4017955174552'،
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
إدراج في sample_data (id ، first_name ، ip_address ، btc_address ، credit_card ، معرف)
القيم (12، 'Ian'، '148.190.10.178'، '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7'، '4017956704480827'،
'a69fe590-bc1b-4001-8ff8-154bcdb5802d ') ؛
إدراج في sample_data (id ، first_name ، ip_address ، btc_address ، credit_card ، معرف)
القيم (13، 'Pasquale'، '150.86.18.140'، '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B'، '4017953296787867'،
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35');
قبل بيان التحديث:
حدد FIRST_NAME ، IP_ADDRESS ، CREDIT_CARD من SAMPLE_DATA sd ؛
يمكننا استخدام وظيفة replace () لاستبدال جميع تكرارات 4 في عمود Credit_card بـ 5.
UPDATE SAMPLE_DATA SET CREDIT_CARD = REPLACE (CREDIT_CARD، '4'، '5') ،بعد بيان التحديث:
في الجدول الناتج ، يمكننا التحقق من أن القيم الموجودة في أعمدة بطاقة الائتمان قد تم استبدالها من 4 إلى 5.
استنتاج
من خلال هذا البرنامج التعليمي ، فهمت عمل الوظيفة replace () في قواعد بيانات Oracle.