Oracle Replace

Oracle Replace



מאמר זה בוחן את השימוש בפונקציה replace() במסד הנתונים של Oracle כדי להחליף את המופע של מחרוזת משנה נתונה במחרוזת משנה אחרת.

תחביר פונקציות

הקוד הבא מציג את התחביר של הפונקציה replace():







REPLACE(source_string, substring, replacement_string);

הפונקציה מקבלת שלושה פרמטרים:



  1. source_string – מייצג את מחרוזת המקור שיש לחפש.
  2. מחרוזת משנה – מגדיר את המחרוזת המשנה להחלפה
  3. מחרוזת_חלפה – מגדיר את המחרוזת או את קבוצת התווים המוחלפים במקום המחרוזת המשנה.

הפונקציה מחזירה סוג מחרוזת עם כל המופעים של המחרוזת המשנה מוחלפת במחרוזת replacement_.



Oracle Replace() דוגמאות לפונקציות

הדוגמאות הבאות מדגימות כיצד הפונקציה מתנהגת תחת פרמטרים וסוגי קלט שונים:





דוגמה 1 - החלף את התרחשות המחרוזת

הדוגמה להלן ממחישה את השימוש העיקרי בפונקציה replace() עם כל פרמטרי הקלט שסופקו.

select replace('פיתוח מסד נתונים של Oracle', 'ab', 'xy') AS הוחלף
מדואלי;

השאילתה למעלה משתמשת בפונקציה replace() כדי להחליף את התווים (ab) ב-(xy). הפלט המתקבל:



הוחלף                   |
--------------------------+
פיתוח Oracle datxyase|

דוגמה 2 - שימוש בפונקציה Replace כדי להסיר מחרוזת משנה

כאמור, נוכל להשתמש בפונקציה replace() כדי להסיר מחרוזת משנה ממחרוזת המקור. זה קורה כאשר איננו מספקים את הערך ממחרוזת המשנה כפי שמוצג:

SELECT replace('https://linuxhint.com', 'https://') AS d FROM dual;

תוֹצָאָה:

D            |
-------------+
linuxhint.com|

דוגמה 3 - החלף ערכים בטבלה

לעתים קרובות אנו משתמשים בפונקציה replace() כדי להחליף ערכים בטבלת מסד נתונים. קח את הטבלה לדוגמה המוצגת:

ליצור טבלה sample_data
(
מספר תעודת זהות,
first_name  varchar2(50),
ip_address  varchar2(20),
btc_address varchar2(50),
כרטיס אשראי varchar2(50),
מזהה  varchar2(40),
constraint sample_pk מפתח ראשי (מזהה)
);
הוסף לתוך sample_data (מזהה, שם_שם, כתובת_ip, כתובת_btc, כרטיס אשראי, מזהה)
ערכים (11, 'Wallas', '169.158.70.77', '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q', '4017955174552',
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
insert into sample_data(id, first_name, ip_address, btc_address, credit_card, identifier)
ערכים (12, 'Ian', '148.190.10.178', '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7', '4017956704480827',
'a69fe590-bc1b-4001-8ff8-154bcdb5802d');
הוסף לתוך sample_data (מזהה, שם_שם, כתובת_ip, כתובת_btc, כרטיס אשראי, מזהה)
ערכים (13, 'Pasquale', '150.86.18.140', '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B', '4017953296787867',
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35');

לפני הצהרת עדכון:

בחר FIRST_NAME, IP_ADDRESS, CREDIT_CARD FROM SAMPLE_DATA sd;

אנו יכולים להשתמש בפונקציה replace() כדי להחליף את כל המופעים של 4 בעמודת כרטיס האשראי ב-5.

עדכון SAMPLE_DATA SET CREDIT_CARD = REPLACE(CREDIT_CARD, '4', '5');

לאחר הצהרת העדכון:

בטבלה המתקבלת, נוכל לוודא שהערכים בעמודות כרטיס האשראי הוחלפו מ-4 עד 5.

סיכום

דרך המדריך הזה, הבנת את פעולת הפונקציה replace() במסדי נתונים של אורקל.