אימות מספר זהות ב-SQL


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

1. עבור על כל ספרה בנפרד, בצע/י את החישוב הבא:

  • ספרות במקום אי זוגי – הכפל ב-1.
  • ספרות במקום זוגי – הכפל ב-2.

2. אם תוצאת המכפלה עבור ספרה מסוימת גדולה מ-9, חבר את האחדות והעשרות.

3. סכם את כלל התוצאות. אם הסכום נחלק ב-10 ללא שארית – מספר הזהות תקין.

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

בנוסף, עבור משתמשי ה-SQL Server שבינינו (גרסת 2012 Express), בקוד הבא האלגוריתם הוזן לפונקציה. הפונקציה מקבלת מספר זהות, ומחזירה האם הוא תקין.

הפעלת הפונקציה מוצגת בקוד הבא, על טבלה עם מספרי זיהוי לדוגמה:

tz validation

שימושים: וידוא מספרי זיהוי בטבלה, מציאת כפילויות ברשימת הלקוחות (לדוגמה – אם בעבר הוקלדו פעם עם ספרת הביקורת ופעם בלי), וכיו"ב.

השארת תגובה