PracticU

שימוש בפונקציות סקלריות ב-SQL

בלי כתוביותעם כתוביות
PracticU › קורס DBA אפליקטיבי - שפת SQL למתחילים › שימוש בפונקציות סקלריות ב-SQL
מילון מושגים:
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
SQL Server - מערכת ניהול מסדי נתונים יחסיים של מיקרוסופט, הנשלטת בשפת T-SQL.
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.
עמודה - שדה בטבלת מסד נתונים שמחזיק ערך מסוג מסוים עבור כל שורה, למשל שם או תאריך.
שאילתה - בקשה למסד נתונים לשלוף, להוסיף, לעדכן או למחוק נתונים, לרוב בשפת SQL.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.

שימוש בפונקציות סקלריות ב-SQL
ב-SQL Server יש פונקציות מובנות שאפשר לעטוף סביב עמודה בתוך השאילתה. ההרצאה מציגה פונקציות סקלריות: מחרוזות, מתמטיקה, תאריכים וזמנים.
מה זו פונקציה סקלרית
המילה סקלר פירושה ערך בודד. הפונקציה מקבלת עמודה ופועלת בנפרד על כל ערך בה: עבור כל שם מוצר היא מחזירה תוצאה משלה, ולא תוצאה אחת לכל העמודה.
הפונקציות שמוצגות
1. מחרוזות: Upper מציגה אותיות גדולות, Lower אותיות קטנות, ופונקציית האורך מחזירה את אורך המחרוזת. כדאי לתת כינוי לעמודה החדשה, למשל NameLength.
2. מתמטיות: על UnitPrice הופעלו Ceiling (עיגול למעלה, 21.35 הופך ל-22), Floor (עיגול למטה, ל-21) ו-Round עם מספר ספרות אחרי הנקודה (עם 1 מתקבל 21.4).
3. תאריכים: על HireDate של עובדים הופעלו Year, Month ו-Day. הפונקציה DateName מקבלת קודם מה להוציא מהתאריך: m לשם החודש ו-dw לשם יום בשבוע.
4. הפרש בין תאריכים: DateDiff עם year, תאריך הלידה ותאריך ההעסקה נותנת את הגיל בקבלה לעבודה (ננסי 44, אנדרו 40). אם מחליפים את התאריך השני ב-GetDate(), מקבלים את הגיל היום. אפשר לקרוא לפונקציה בתוך פונקציה.
5. איפה רואים את כל הפונקציות: ב-Object Explorer (לחיצה על F8 מציגה אותו), תחת Programmability ← Functions ← System Functions, מחולקות לקטגוריות.
שימו לב
- אם יש בעיה לזכור קודי DateName, לחיצה על Ctrl+Space מציגה את הרשימה.
- בהקלדת התאריכים מסדרים את הפרמטרים כך שהתאריך המוקדם בא ראשון.
אחרי ההרצאה אפשר לשנות טקסט, לעגל מספרים ולחשב גילאים ותאריכים ישירות בשאילתה.
השיעור הבא בקורס: שימוש בפונקציות Grouping

פרקי ההרצאה: שימוש בפונקציות סקלריות ב-SQL

  1. 00:00

    מהי פונקציה סקלרית

  2. 00:37

    פונקציות מחרוזת UPPER ו-LOWER

  3. 01:34

    פונקציות מתמטיות על מספרים

  4. 02:30

    עיגול עם CEILING, FLOOR ו-ROUND

  5. 03:47

    עיון בפונקציות ב-Object Explorer

  6. 04:22

    פונקציות תאריך YEAR ו-MONTH

  7. 05:15

    שם החודש עם DATENAME

תמלול ההרצאה: שימוש בפונקציות סקלריות ב-SQL

הטקסט המלא של הדקות הראשונות בהרצאה «שימוש בפונקציות סקלריות ב-SQL» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:13

    בואו נבין רגע מה זה אומר. אם אני עכשיו מבצע Select Product Name From Products, נריץ, נקבל עמודה אחת של שמות המוצרים.

  3. 00:24

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

  4. 00:32

    פונקציה להצגת אותיות גדולות upper. קיצור של upper case, אני פשוט עוטף את העמודה, מריץ, והוא עושה עליה איזשהו change ומחזיר לי אותיות גדולות.

  5. 00:43

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

  6. 00:59

    קיבלה אליס מיוטון היא מחזירה את האליס מיוטון באותיות גדולות בנפרד לערך הבא. מקבלת את הערך הבא מחזירה עבורו את הערך באותיות גדולות.

  7. 01:11

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

  8. 01:23

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

  9. 01:34

    אנחנו רוצים לראות פונקציות בתחום אחר. בואו נבצע פונקציות שקשורות למספרים, פונקציות מתמטיות. נגדיר Select Unit Price From Products. זה מביא לי את עמודת ה-Unit Price.

  10. 01:48

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

  11. 02:20

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

  12. 02:30

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

  13. 02:41

    20 ו... בואו רגע נסתכל מה זה היה שם, אני כבר שכחתי. זה היה 21.35 ופה אנחנו רואים אותו כ-22. לעגל כלפי מעלה. בואו ניתן לזה איזשהו כינוי as price go יופי.

  14. 03:01

    אז יש לנו אפשרות גם לעגל כלפי מטה. זה יהיה floor. בואו נראה והנה זה ירד ל-21. יש לנו אפשרות לעגל את זה למספר הקרוב. זה יהיה round.

  15. 03:15

    הוא אומר לי תשמע תן לי כמה ספרות אחרי הנקודה אתה רוצה שאני אעגל אותו. בואו ניתן לו 1. 21.4 כאשר לפני זה הוא היה 21.35. אגיע אותו לספרה אחת אחרי הנקודה העשורנית.

  16. 03:32

    אלה פונקציות שמתעסקות בנתונים מתמטיים ואני לא צריך. דרך אגב, יש לנו כאן את כלל הפונקציות, זה בעצם ניתן על ידי view, הנה Object Explorer, F8, נחזור לכאן ואם אנחנו ניכנס במקום tables ל-programmability, יש לנו כאן פונקצ'יונס, יש לנו כאן סיסטם פונקצ'יונס וקטגוריות של פונקציות מערכת.

  17. 04:02

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

  18. 04:12

    תראו כמה פונקציות יש, יש פה את ה-sealing, יש פה את ה-floor. קבוצה נוספת של פונקציות זה פונקציות שמתעסקות עם תאריכים וזמנים, הקבוצה הזאת.

  19. 04:22

    בואו נראה מה אנחנו יכולים לעשות איתן. Select hire date from employees. זה נותן לנו את התאריך ההעסקה של כל עובד. אז אנחנו רוצים להציג בעצם את ה... בוא נניח את ה-first name של העובד, את ה-last name של העובד, ואני רוצה גם את התאריך ההעסקה שלו.

  20. 04:43

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

  21. 04:57

    אז hire, מגדיר את זה הפעם עם כזה אמת, hire year. שנת ההעסקה של אותו עובד. וכמו שיש לנו year, יכול להיות לנו גם month.

  22. 05:08

    hire month. בואו נריץ, מעולה. ויכול להיות לנו כמובן גם day. בואו נריץ. אנחנו יכולים לקחת פונקציה של date name.

  23. 05:22

    בואו ניקח את הקוד הזה, נשים אותו פה ונגיד לו דייט מיין דייט מיין מקבלת תאריך אבל לפני זה מה אנחנו רוצים להוציא מהתאריך לדוגמה m יש לנו כאן אם אני לוחץ על קונטרול ספייס הוא נותן לי כל מיני קודים כאלה m זה חודש יש לנו כאן את ה-hire month אבל הפעם הוא ייתן לנו את השם של ה-month בואו נראה מה קורה אם אני אומר לו d זה יהיה

  24. 05:51

    hire day בואו נריץ את זה, לא ממש, אולי ניתן לו day

לקורס המלא: קורס SQL ו‑DBA אפליקטיבי

ההרצאה הקודמת: טיפול בערכי NULL

ההרצאה הבאה: שימוש בפונקציות Grouping

הרצאות קשורות מקורסים אחרים

  • שימוש ב-useEffect - חלק 1
  • שימוש ב-NuGet
  • שימוש ב-ModelState
  • LINQ ל- SQL

קורסים נוספים במסלול

  • קורס NoSQL - MongoDB
  • קורס SSIS
  • קורס BI - ניתוח מסדי נתונים - Qlik Sense
  • קורס Power BI