זהו אתר שבניתי לפני כמה שנים (בהתבסס על פרוייקט קוד פתוח ישן) והוא מאפשר לבנות עם מבנה שאלות סטנדרטי בצורת:
תשובה אמריקאית, תשובה מרובה (לסמן כמה תשובות אפשריות), גלילה נפתחת, תשובה פתוחה ועוד.
לכל שאלה גם ניתן לתת ערך מספרי ולנתח את התוצאות בגליון אקסל או להתרשם מהגרפים באתר עצמו..
האתר התאכסן ב http://economyseker.freehostia.com ועכשיו עובר ל http://ask.darina.us.
כדי לפתוח שאלון בחינם, אפשר לפנות אלי (בתגובות ודרך האתר) ואני אפתח משתמש חדש עם הרשאות עריכה ובניית שאלונים.
בזמן העברת האתר מ MySQL 4 ל MySQL 5 התגלו מספר שינויים מהותיים שפגעו בתאימות.
מסתבר שהפונקציה המובנית GREATEST שצריכה להחזיר את הערך הגדול ביותר מתוך הפרמטרים שלה, תחזיר בגירסה 5 NULL אם אחד הערכים הוא NULL בעוד שבגירסה 4, הפונקציה תתייחס ל NULL בתור הערך הנמוך ביותר ותחזיר את הפרמטר שערכו לא NULL.
כדי להתמודד עם זה היה צריך להשתמש בפונקציה נופסת בשם COALESCE שמחזירה את הערך הראשון שהוא לא NULL מבין הפרמטרים שלה.
ואז נניח אם רוצים לחשב
תשובה אמריקאית, תשובה מרובה (לסמן כמה תשובות אפשריות), גלילה נפתחת, תשובה פתוחה ועוד.
לכל שאלה גם ניתן לתת ערך מספרי ולנתח את התוצאות בגליון אקסל או להתרשם מהגרפים באתר עצמו..
האתר התאכסן ב http://economyseker.freehostia.com ועכשיו עובר ל http://ask.darina.us.
כדי לפתוח שאלון בחינם, אפשר לפנות אלי (בתגובות ודרך האתר) ואני אפתח משתמש חדש עם הרשאות עריכה ובניית שאלונים.
בזמן העברת האתר מ MySQL 4 ל MySQL 5 התגלו מספר שינויים מהותיים שפגעו בתאימות.
מסתבר שהפונקציה המובנית GREATEST שצריכה להחזיר את הערך הגדול ביותר מתוך הפרמטרים שלה, תחזיר בגירסה 5 NULL אם אחד הערכים הוא NULL בעוד שבגירסה 4, הפונקציה תתייחס ל NULL בתור הערך הנמוך ביותר ותחזיר את הפרמטר שערכו לא NULL.
כדי להתמודד עם זה היה צריך להשתמש בפונקציה נופסת בשם COALESCE שמחזירה את הערך הראשון שהוא לא NULL מבין הפרמטרים שלה.
ואז נניח אם רוצים לחשב
GREATEST(a,b)
וחוששים ש a או b הוא NULL, עושים את זה כך:GREATEST(COALESCE(a,b), COALESCE(b,a))
לא הכי יפה שבעולם, אבל עובד.
Tags
mysql
תודה רבה על העדכון :)
ReplyDelete