SQL REGEXP_REPLACE

Sql Regexp Replace



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

ככזה, מניפולציה של מחרוזת היא משימה נפוצה הכוללת מניפולציה והפיכת ערכי המחרוזת לפורמט מסוים.

אחת הפונקציות החזקות ביותר ב-SQL העוסקת בפעולות מחרוזת היא הפונקציה REGEXP_REPLACE() . פונקציה זו מאפשרת לנו לבצע את החיפוש והחלפה מבוסס ביטוי רגולרי. אם אתה מכיר את הביטוי הרגולרי, אתה יודע כמה עוצמה פונקציה זו יכולה להיות.







במדריך זה, נלמד כיצד אנו יכולים להשתמש בפונקציה זו כדי לחפש ולהחליף את המחרוזות במסד הנתונים של SQL.



SQL REGEXP_REPLACE

ה-SQL REGEXP_REPLACE() הוא פונקציה המאפשרת לנו לבצע התאמה והחלפה של דפוסים מבוססי ביטוי רגיל בתוך מחרוזת נתונה.



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





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

עם זאת, אנו יכולים לבטא את התחביר שלו באופן הבא:



REGEXP_REPLACE(מחרוזת_קלט, תבנית, החלפה [, דגלים])

פרמטרי הפונקציה באים לידי ביטוי באופן הבא:

  1. input_string - זה מציין את המחרוזת שבתוכה אנו רוצים לחפש ולהחליף.
  2. דפוס - זה מציין את דפוס הביטוי הרגולרי שאנו רוצים להתאים בתוך מחרוזת הקלט.
  3. החלפה - זה מציין את המחרוזת שתחליף את מחרוזות המשנה התואמות.
  4. דגלים - זוהי קבוצה של דגלים אופציונליים שיכולים לעזור לשנות את הפונקציונליות של הביטוי הרגולרי. לדוגמה, אנו יכולים להפעיל את החיפוש הגלובלי, התאמה לא תלוית רישיות וכו'. תכונה זו משתנה בהתאם למנוע מסד הנתונים.

דוגמאות:

כדי להבין טוב יותר כיצד פונקציה זו פועלת, הבה נסתכל על כמה דוגמאות כיצד להשתמש בה.

דוגמה 1: שימוש בסיסי

נניח שיש לנו טבלה המכילה את מידע העובד כפי שמוצג בפלט הדוגמה הבא:

שקול מקרה שבו אנו רוצים להחליף את המופע של מחרוזת 'צ'רלי' ל'מת'יו'. אנו יכולים להשתמש בשאילתה באופן הבא:

בחר

REGEXP_REPLACE(first_name, 'Charlie', 'Matthew') AS new_name

מ

עובדים;

הדוגמה הנתונה מדגימה חיפוש בסיסי והחלפה כדי למצוא את המחרוזת 'צ'רלי' מהעמודה 'שם_שם' ולהחליף אותה ב'מת'יו'.

תְפוּקָה:

דוגמה 2: החלפה ללא רגישות רישיות

במקרים מסוימים, ייתכן שתרצה לבצע חיפוש לא תלוי רישיות. משמעות הדבר היא שהפונקציה תסתכל רק על תוכן המחרוזת ולא על האותיות האמיתיות של האותיות האלפאנומריות.

במקרה כזה, אנו משתמשים ב-'i' כדגל הפונקציה באופן הבא:

SELECT REGEXP_REPLACE(product_description, Samsung, Apple, 'i') AS שונה

ממוצרים;

על ידי הגדרת הדגל ל-'i', הפונקציה תואמת את כל המילים המתאימות ל-'Samsung', ללא קשר לאותיות הרישיות.

סיכום

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