وظيفة استبدال أوراكل

Wzyft Astbdal Awrakl



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

Oracle Replace () بناء جملة الوظيفة

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







يحل محل ( source_string ، substring ، replace_string ) ؛



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



  1. source_string - تحدد سلسلة المصدر المراد البحث عنها.
  2. سلسلة فرعية - تحدد السلسلة الفرعية التي سيتم استبدالها.
  3. replace_string - يحدد السلسلة أو مجموعة الأحرف التي يتم استبدالها في مكان السلسلة الفرعية. هذه معلمة اختيارية. إذا كانت قيمة المعلمة replace_string مفقودة ، تقوم الوظيفة بإزالة جميع تكرارات السلسلة الفرعية من السلسلة المصدر.

وبالمثل ، إذا كانت السلسلة الفرعية فارغة ، فإن الدالة لا تفعل شيئًا وتُرجع سلسلة_المصدر.





ترجع الدالة نوع سلسلة مع استبدال جميع تكرارات السلسلة الفرعية بـ replace_string.

أمثلة على وظيفة Oracle Replace ()

توضح الأمثلة التالية كيف تتصرف الوظيفة تحت أنواع مختلفة من المعلمات والمدخلات:



مثال 1 - استبدال حدوث سلسلة فرعية

يوضح المثال أدناه الاستخدام الأساسي لوظيفة replace () مع جميع معلمات الإدخال المتوفرة.

تحديد يحل محل ( 'تطوير قاعدة بيانات أوراكل' و 'أب' و 'س' ) تم استبداله
من مزدوج

يستخدم الاستعلام أعلاه الدالة replace () لاستبدال الأحرف (ab) بـ (xy). الناتج الناتج:

استبدال |
-------------------------- +
تطوير Oracle datxyase |

مثال 2 - استخدام وظيفة الاستبدال لإزالة سلسلة فرعية

كما ذكرنا ، يمكننا استخدام وظيفة replace () لإزالة سلسلة فرعية من سلسلة المصدر. يحدث هذا عندما لا نقدم القيمة من السلسلة الفرعية كما هو موضح:

حدد استبدال ( 'https://linuxhint.com' و 'https: //' ) كما د من مزدوج ؛

حصيلة:

د |
------------- +
linuxhint.com |

مثال 3 - استبدال القيم في جدول

غالبًا ما نستخدم وظيفة replace () لاستبدال القيم في جدول قاعدة البيانات. خذ مثال الجدول الموضح:

إنشاء جدول sample_data
(
هوية شخصية رقم،
الاسم الأول varchar2 ( خمسون ) و
ip_address varchar2 ( عشرين ) و
btc_address varchar2 ( خمسون ) و
بطاقة الائتمان varchar2 ( خمسون ) و
معرف varchar2 ( 40 ) و
مفتاح أساسي عينة القيد ( هوية شخصية )
) ؛
إدراجها في sample_data ( هوية شخصية ، first_name، ip_address، btc_address، credit_card، معرف )
القيم ( أحد عشر و 'والاس' و '169.158.70.77' و '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' و '4017955174552' و
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ؛
إدراجها في sample_data ( هوية شخصية ، first_name، ip_address، btc_address، credit_card، معرف )
القيم ( 12 و 'إيان' و '148.190.10.178' و '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' و '4017956704480827' و
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ؛
إدراجها في sample_data ( هوية شخصية ، first_name، ip_address، btc_address، credit_card، معرف )
القيم ( 13 و 'عيد الفصح' و '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.

تحديث SAMPLE_DATA SET CREDIT_CARD = استبدال ( بطاقة ائتمان، '4' و '5' ) ؛

بعد بيان التحديث:

في الجدول الناتج ، يمكننا التحقق من أن القيم الموجودة في أعمدة بطاقة الائتمان قد تم استبدالها من 4 إلى 5.

استنتاج

من خلال هذا البرنامج التعليمي ، فهمت عمل الوظيفة replace () في قواعد بيانات Oracle.