SQL | פונקציות NULL
במסד הנתונים ערכי null משמשים כמצייני מיקום עבור נתונים שחסרים או אינם זמינים. ערך null הוא סוג נתונים גמיש שניתן למקם בעמודה של כל סוג נתונים כולל string int blob ו-CLOB. זה לא רכיב של שום סוג נתונים ספציפי. ערכי Null מועילים בעת ניקוי הנתונים לפני ניתוח חקרני.
ערכי אפס מסייעים לנו במיגור אי בהירות הנתונים. ערכי Null שימושיים גם לשמירה על סוג נתונים עקבי לאורך העמודה. נלמד על הצורך וההנחיות לשימוש בערכי Null במאמר זה. כעת נשתמש בדוגמאות כדי לנסות להבין טוב יותר ערכי null ופונקציות null ב SQL .
כמה נקודות מפתח לגבי השימוש ב-NULL ב-SQL:
- חשוב לעיין בתיעוד הספציפי של מערכת ניהול מסד הנתונים שלך כדי להבין כיצד מתייחסים לערכי NULL במבני אינדקס. מלכודות פוטנציאליות: הנוכחות של ערכי NULL יכולה להכניס מורכבות ומלכודות פוטנציאליות בעת ביצוע שאילתות או מניפולציה של נתונים. זה דורש שיקול דעת זהיר לטפל בערכי NULL כראוי בשאילתות SQL כדי למנוע תוצאות בלתי צפויות או שגויות.
למה אנחנו צריכים ערכי NULL?
פונקציות Null נדרשות לביצוע פעולות על ערכי Null המאוחסנים במסד הנתונים. עִם בָּטֵל ערכים שאנו יכולים לבצע פעולות המזהות בבירור אם הערך הוא null או לא. עם היכולת הזו לזהות נתונים אפסיים, ניתן לבצע עליהם פעולות דומות לשיטות ה-join של SQL.
להלן פונקציות ה-NULL המוגדרות ב-SQL:
ISNULL()
לפונקציית ISNULL יש שימושים שונים ב-SQL Server וב-MySQL. ב-SQL Server הפונקציה ISNULL() משמשת להחלפת ערכי NULL.
תַחבִּיר:
SELECT עמודות ISNULL(column_name value_to_replace)
FROM table_name;
דוּגמָה : שקול את טבלת העובדים הבאה
מצא את סכום השכר של כל העובדים אם השכר של עובד כלשהו אינו זמין (או ערך NULL) השתמש בשכר כ-10000.
שְׁאֵלָה:
SELECT SUM(ISNULL(Salary 10000) AS Salary FROM Employee;
תְפוּקָה :
ב-MySQL משתמשים בפונקציה ISNULL() כדי לבדוק אם ביטוי הוא NULL או לא. אם הביטוי הוא NULL הוא מחזיר TRUE else FALSE.
תַחבִּיר:
בחר עמודות
FROM table_name
WHERE ISNULL(column_name);
דוּגמָה : שקול את טבלת העובדים הבאה
תביא את השם של כל העובדים שהשכר שלהם זמין בטבלה (לא NULL).
שְׁאֵלָה:
SELECT Name FROM Employee WHERE ISNULL(Salary);
תְפוּקָה:
IFNULL()
פונקציה זו זמינה ב-MySQL ולא ב-SQL Server או ב-Oracle. פונקציה זו לוקחת שני ארגומנטים. אם הארגומנט הראשון אינו NULL הפונקציה מחזירה את הארגומנט הראשון. אחרת הארגומנט השני מוחזר. פונקציה זו משמשת בדרך כלל להחלפת ערך NULL בערך אחר.
תַחבִּיר:
SELECT עמודות IFNULL(column_name value_to_replace)
FROM table_name;
דוּגמָה : שקול את טבלת העובדים הבאה
מצא את סכום השכר של כל העובדים אם השכר של עובד כלשהו אינו זמין (או ערך NULL) השתמש בשכר כ-10000.
שְׁאֵלָה;
SELECT SUM(IFNULL(Salary 10000) AS Salary FROM Employee;
תְפוּקָה :
לְהִתְמַזֵג()
הפונקציה COALESCE ב-SQL מחזירה את הביטוי הראשון שאינו NULL מבין הארגומנטים שלה. אם כל הביטויים מוערכים ל- null אז הפונקציה COALESCE תחזיר null.
תַחבִּיר :
SELECT עמודות CAOLESCE(expression_1....expression_n)
FROM table_name;
דוּגמָה :
שקול את הטבלה הבאה Contact_info
קבל את השם ומספר איש הקשר של כל עובד.
שְׁאֵלָה:
SELECT Name COALESCE(Phone1 Phone2) AS Contact FROM Contact_info;
תְפוּקָה :
NULLIF()
הפונקציה NULLIF לוקחת שני ארגומנטים. אם שני הארגומנטים שווים אז NULL מוחזר. אחרת הארגומנט הראשון מוחזר.
תַחבִּיר:
SELECT עמודות NULLIF(expression1 expression2)
FROM table_name;
דוּגמָה : שקול את טבלת המכירות הבאה
SELECT Store NULLIF(Actual Goal) FROM Sales;
תְפוּקָה :
מַסְקָנָה
במאמר זה למדנו מהם ערכי null ומדוע עלינו להשתמש בהם. כעת אנו יודעים ששימוש בערכי NULL הוא בסיסי לבסיסי נתונים והוא נעשה על מנת לשמור על שלמותם. בעקבות זה למדנו יותר על הפונקציות השונות שניתן להשתמש בהן עם ערכי NULL. לסיכום, הערך NULL ב-SQL מייצג את ההעדר או הערך הלא ידוע עבור שדה נתונים מסוים. זה דורש התייחסות מיוחדת בעת כתיבת שאילתות וביטויים כדי לטפל בערכי NULL כראוי ולהימנע ממלכודות פוטנציאליות.
צור חידון