ערכים נודדים בשאלות מהנדס מסד נתונים
Last updated: December 12, 2024
סקירה
כאשר אתה יוצר שאלה של מהנדס מסדי נתונים, תוכל להעלות קובץ CSV ליצירת טבלה. כל מערכות המסד הנתונים הנתמכות, מטפלות בערכי נקודה צפה באופן שונה. מאמר זה מספק לך דוגמה להראות כיצד כל מערכת מסדי הנתונים מטפלת בערכי נקודה צפה. כרגע, HackerRank תומך במסדי נתונים של Microsoft SQL, MySQL, Oracle ו-DB2.
דוגמה לערכי נקודה צפה
הדוגמה הבאה מראה כיצד מערכות מסדי נתונים שונות מטפלות בנתונים. כאשר יוצרים שאלה של מהנדס מסדי נתונים, קח בחשבון שהשאילתות מחזירות תוצאות שונות בהתאם למערכת מסדי הנתונים בשימוש, והציונים מחושבים על ידי השוואת מחרוזות בסיסית.
טבלה בשם Employee עם ה-CSV הבא עם 5 עמודות. עמודת הנקודות היא ערך צף.
Id,cid,aid,points,score:
1,5608,1,0.59,4
1,5608,2,8.70,5
1,5608,3,4.99,1
1,5608,5,2.88,3
1,5608,9,0.79,1
1,5608,5,7.58,1
עבור השאלה "SELECT * from Employee", המסדי נתונים הבאים מתייחסים לנתוני ה-float בדרכים הבאות:
Oracle
ב-Oracle, עמודת הנקודות היא מסוג FLOAT. הפלט הוא כדלקמן:
1 5608 1 .59 4
1 5608 2 8.7 5
1 5608 3 4.99 1
1 5608 5 2.88 3
1 5608 9 .79 1
1 5608 5 7.58 1
מסד הנתונים של Oracle מקצץ את האפסים המובילים.
MySQL
ב-MySQL, עמודת הנקודות היא מסוג FLOAT. הפלט הוא כדלקמן:
1 5608 1 0.59 4
1 5608 2 8.7 5
1 5608 3 4.99 1
1 5608 5 2.88 3
1 5608 9 0.79 1
1 5608 5 7.58 1
MySQL מציג את הנתונים כפי שהם מסופקים.
MS SQL
ב-MS SQL, עמודת הנקודות היא מסוג REAL. הפלט הוא כדלקמן:
1 5608 1 0.58999997 4
1 5608 2 8.6999998 5
1 5608 3 4.9899998 1
1 5608 5 2.8800001 3
1 5608 9 0.79000002 1
1 5608 5 7.5799999 1
MS SQL מציג ערך משוער. השתמש בסוג הנתונים DECIMAL (10, דיוק) כדי לקבוע את המקומות אחרי הנקודה העשרונית הנדרשים בפלט. אם תשנה את SQL ליצירת הסכמה שהגדרנו מ-CSV כך שעמודת הנקודות היא מסוג DECIMAL(10, 2), הפלט ישתנה ל:
1 5608 1 .59 4
1 5608 2 8.70 5
1 5608 3 4.99 1
1 5608 5 2.88 3
1 5608 9 .79 1
MS SQL מסיר את האפסים המובילים.
DB2
ב-DB2, עמודת הנקודות היא מסוג DECFLOAT. הפלט הוא כדלקמן:
1 5608 1 0.59 4
1 5608 2 8.7 5
1 5608 3 4.99 1
1 5608 5 2.88 3
1 5608 9 0.79 1
1 5608 5 7.58 1
DB2 מציג את הנתונים כפי שהם מסופקים.