أوراكل استبدال

Awrakl Astbdal



تستكشف هذه المقالة استخدام الوظيفة replace () في قاعدة بيانات Oracle لاستبدال حدوث سلسلة فرعية معينة بسلسلة فرعية أخرى.

تركيب الوظيفة

يُظهر الكود التالي بناء جملة الدالة replace ():







REPLACE (source_string، substring، replace_string) ؛

تقبل الوظيفة ثلاث معاملات:



  1. مصدر_السلسلة - يمثل سلسلة المصدر المراد البحث عنها.
  2. سلسلة فرعية - يحدد السلسلة الفرعية المراد استبدالها
  3. سلسلة الاستبدال - تحدد السلسلة أو مجموعة الأحرف التي يتم استبدالها في مكان السلسلة الفرعية.

ترجع الدالة نوع سلسلة مع استبدال جميع تكرارات السلسلة الفرعية بـ 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.