SQL TRANSLATE FUNCTION

הפונקציה TRANSLATE קיימת בבסיס הנתונים אורקל וכן ב - DB2 אך לא ב - SQL Server - והיא פונקציה רבת עוצמה שמטרתה לאפשר למתכנת להחליף תו אחד מתוך רצף אחד בתו אחר מתוך רצף אחר בתוצאות המוחזרות ממשפט SQL. בדוגמת הקוד הבאה אציג את הצורה הכללית שבה נכתב משפט TRANSLATE.

הצורה הכללית לכתיבת משפטי TRANSLATE:

הצורה הכללית לשימוש בפונקציה TRANSLATE באורקל:

translate( מחרוזת מחליפה, מחרוזת להחלפה, מחרוזת1 )

הצורה הכללית לשימוש בפונקציה TRANSLATE ב - DB2:

translate( מחרוזת להחלפה, מחרוזת מחליפה, מחרוזת1 )

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

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

דוגמה לשימוש בפונקציה TRANSLATE:

נניח לדוגמה שנתונה לנו המחרוזת הבאה: 1evsch33g. כמו כן נניח שהתווים שאותם נרצה להחליף הם: 13g ואילו התווים שנרצה שיתפסו את מקומם יהיו: Dol. כעת נכתוב קוד שישתמש בפונקציה ונראה מה תהיה תוצאת הפונקציה:

translate('1esch33g', '13g', 'Dol');

תוצאת שורת הקוד שלמעלה תהיה: Devschool. כפי שביכולתכם לראות הפונקציה לא חיפשה אחר הרצף 13g והחליפה אותו ברצף Dol אלא היא החליפה את התו 1 בתו D, את התו 3 בתו o ואילו את התו g החליפה הפונקציה בתו l.

דוגמה לשימוש בפונקציה TRANSLATE בתוך משפט SELECT:

בדוגמה הבאה נשתמש בפונקציה TRANSLATE בתוך משפט SELECT כדי לשנות תצוגת ערכי עמודה בטבלה. לשם כך נשתמש בטבלה ששמה Table1 ובעמודה שאת ערכיה נרצה לשנות ששמה Column1:

SELECT TRANSLATE(’1evsch33g′,’13g',’Dol') Column1 FROM Table1;


 
© 2010-2013  www.Devschool.co.il | מדיניות פרטיות | תנאי שימוש