פרק 4: פונקציות בשפת SQL

נכתב על ידי יובל מרנין.
לחברות המעוניינות בשירותי פרילנס או סדנאות של אנליסט, ניתן לפנות אליי [email protected]

 


על כל שדה ב SQL ניתן להשתמש בפונקציות.

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

 

פונקצית Substring

פונקציית substring  מחזירה חלק ממחרוזת:

 

בדוגמה שלפנינו ביקשנו את ההתחלה ה 3 ספרות הראשונות של העיר.

 select

       customer_city,

       substring(customer_city,1,3) as city_prefix

from

       customers

ניתן להשתמש בפונקציות גם במקומות נוספים ב שאילתה – למשל בהוראת where 

select

       customer_city

from

       customers

where

       substring(customer_city,1,3) = 'fra'

 

פונקציית Coalesce

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

כאשר יהיה ערך חסר בעמודה שרשמנו בפרמטר הראשון, פונקציית coalesce תיקח את הערך שרשמנו בפרטמר השני.

 

לדוגמה: 

select      

       coalesce(customer_zip_code_prefix,90210) as customer_zip_code_prefix

from

       customers

             

הסבר – כאשר פונקציית coalesce מזהה שלאחר הלקוחות חסר מיקוד, היא משלמה את המיקוד 90210

 

פונקציות תאריך

לכל דטה-בייס יש פונקציות משלו לתאריך. אם אתם עובדים ב PostgreSQL ישנם כמה פונקציות בסיסיות ששווה להכיר :

select

     order_id,

     order_purchase_timestamp,

     extract (day from order_purchase_timestamp::date) as d,

     extract (month from order_purchase_timestamp::date) as m,

     extract (year from order_purchase_timestamp::date) as y

from

       orders

הסבר:

  • פונקציית extract מחלצות את מרכיבי התאריך משדה מוג תאריך.
  •      האופרטור ::date ממיר את שדה order_purchase_timestamp לשדה מסוג תאריך.

 

פונקצית Like  ו Rlike – חיפוש בתוך מחרוזות

כדי לחפש במשתני מחרוזת (string)  אפשר להשתמש ב like

select

*     

from

       customers

where

       customer_city  like '%sao%'

בדוגמה הנ"ל השאילתה תחזיר את כל השורות שבעיר מופיע המחזרות sao.

בחלק מבסיסי הנתונים אפשר להשתמש בסינון לפי regular expression בעזרת פונקציית rlike

אם התגלתה טעות אנא צרו קשר במייל:
[email protected]


 

נכתב על ידי יובל מרנין.
לחברות המעוניינות בשירותי פרילנס או סדנאות של אנליסט, ניתן לפנות אליי [email protected]

Yuval Marnin

לחברות המעוניינות בשירותי פרילנס או מנטורינג של אנליסט, ניתן לפנות אליי ל[email protected]