Skip to main content

הגדרה ושימוש נכון של ערכי NULL

Sheep Among Wolves Volume II (Official Feature Film) (אַפּרִיל 2025)

Sheep Among Wolves Volume II (Official Feature Film) (אַפּרִיל 2025)
Anonim

משתמשים חדשים בעולם של מסדי נתונים מבולבלים לעתים קרובות על ידי ערך מיוחד מסוים לשדה - הערך NULL. ערך זה ניתן למצוא בשדה המכיל כל סוג של נתונים ויש לו משמעות מיוחדת מאוד בהקשר של מסד נתונים יחסיים. זה כנראה הכי טוב להתחיל את הדיון שלנו NULL עם כמה מילים על מה NULL לא :

  • NULL אינו המספר אפס.
  • NULL אינו ערך מחרוזת ריקה ("").

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

    NULL בעולם האמיתי

    בואו נסתכל על דוגמה פשוטה: טבלה המכילה את המלאי עבור דוכן פרי. נניח כי המלאי שלנו מכיל 10 תפוחים ושלושה תפוזים. אנחנו גם שזיפים, אבל מידע המלאי שלנו אינו שלם ואנחנו לא יודעים כמה (אם בכלל) שזיפים נמצאים במלאי. באמצעות הערך NULL, יהיה לנו את טבלת המלאי המוצגת בטבלה שלהלן.

    פירות לעמוד המלאי

    מלאיפריטכמות
    1תפוחים10
    2תפוזים3
    3שזיפיםריק

    זה יהיה ברור לא נכון לכלול כמות של 0 עבור שיא שזיפים, כי זה היה מרמז כי היה לנו לא שזיפים במלאי. להיפך, אולי יש לנו שזיפים, אבל אנחנו פשוט לא בטוחים.

    אל NULL או לא NULL?

    טבלה יכולה להיות מתוכננת כדי לאפשר ערכי NULL או לא.

    הנה דוגמה SQL שיוצרת טבלת מלאי המאפשרת כמה NULLs:

    SQL ליצור מלאי טבלה (InventoryID INT לא NULL, פריט VARCHAR (20) לא NULL, כמות INT);

    טבלת המלאי כאן אינה מאפשרת ערכי NULL עבור מלאי וה פריט עמודות, אבל האם לאפשר להם את כמות טור.

    תוך כדי מתן ערך NULL הוא בסדר גמור, ערכי NULL יכולים לגרום לבעיות משום שכל השוואה של ערכים שבהם אחד הוא NULL תמיד תוצאות NULL.

    כדי לבדוק אם הטבלה שלך מכילה ערכים NULL, השתמש במפעיל IS NULL או IS NOT NULL. הנה דוגמה של IS NULL:

    SQL> בחר מלאי, פריט, כמות ממלאי שבו כמות אינו null;

    בהתחשב בדוגמה שלנו כאן, זה יחזור:

    מלאיפריטכמות
    3שזיפים

    פעולה על NULLs

    עבודה עם ערכי NULL מפיקה לעתים קרובות תוצאות NULL, בהתאם לפעולת SQL. לדוגמה, בהנחה ש- A הוא NULL:

    מפעילי אריתמטיקה

    • A + B = NULL
    • A - B = NULL
    • A * B = NULL
    • A / B = NULL

    מפעילי השוואה

    • A = B = NULL
    • A = B = NULL
    • A> B = NULL
    • A <B = NULL

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

    זה NULL בקצור נמרץ!