› פורומים › אפיון ופיתוח פריוריטי › פונקציית ISNUMERIC
- This topic has 10 תגובות, 2 משתתפים, and was last updated לפני 6 שנים, 9 חודשים by yitzchok.
- Post
-
- ינואר 16, 2018 בשעה 12:28 pm
בוקר טוב,
באחד השדות באתר הוובי שלנו (marketgate) אני רוצה שלקוח יוכל להזין בשדה רק מספרים ללא תווים נוספים,
במחולל דוח"ות באותו שדה הגדרתי את השאילתה הבאה:(ISNUMERIC (#60=1 ? #60 : ' '))#60 הינה מס' העמודה בדו"ח, העמודה מסוג CHAR 6
מה לא נכון השאילתה ואיך אפשר לכתוב את זה נכון?
תודה מראש
- Replies
-
- ינואר 16, 2018 בשעה 1:37 pm
- ינואר 16, 2018 בשעה 2:02 pm
שמתי לב שהכל יתבלבל 🙁
אנסה שוב ,
ISNUMERIC (#60) = 1 #60 : ' ' )
זה בדיוק כמו שכתבת רק בלי הסוגר בסוף,
מתקבלת שגיאה על רקורסיה בדו"ח, אותו דבר גם עם שמות השדות ולא הפנייה למס' העמודה עצמה,
תודה- ינואר 16, 2018 בשעה 2:14 pm
- ינואר 16, 2018 בשעה 5:23 pm
כן גם אני עכשיו ניסיתי את אותו ביטוי על דו"ח אחר , עובר הכנה..
הזויאני מצרף את הפלט debug שיצא לאחר הכנה,
אגב שיניתי את מס' העמודה לשם העמודה,
אתה יכול להבין מזה משהו?(ISNUMERIC (MORI_WWWQUESTDOC.WASTDES = 1 ? MORI_WWWQUESTDOC.WASTDES : '')) AND ( 1=1 ) ;
תודה מראש
- ינואר 16, 2018 בשעה 9:09 pm
אם הכוונה היא לבדוק אם השדה נומרי ולהחזיר אותו אם כן ולהחזיר כלום אם לא אז יש לסגור את הסוגריים לפני סימן השווה ולהוריד אחד בהמשך. אבל אז ה and וכו' לא מתאים.אני מזהיר ש isnumeric לא בודקת האם כל התווים הם ספרות. גם מינוס ונקודה תקינים במקומות מתאימים. כל מחרוזת שמשקפת ערך מספרי כולל 64.996- ייחשב נומרי ע"י פונקציה זאת. בדיקה עבור ספרות בלבד אפשרי אבל צריכים לנסח בדיוק לפי התוכן הצפוי.
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- ינואר 17, 2018 בשעה 12:08 am
במחשבה שנייה, *אם* זה כל מה מותר בפונקציה מעבר לספרות אפשר לבדוק שבטקסט עובר את הפונקציה ולא כולל – או . ע"י שתי השווואות בעזרת not like[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- ינואר 18, 2018 בשעה 1:15 pm
סליחה. ראיתי עכשיו ש- isnumeric בודק שהכל ספרות. אולי אסור לי לסמוך על זכרוני.[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- ינואר 18, 2018 בשעה 1:49 pm
חחח ניסיתי להבין מה כתבת והלכתי לאיבוד ;-).
אבל הכיוון שלך טוב אני עדיין מנסה, תודה בכל אופן- ינואר 18, 2018 בשעה 3:34 pm
- ינואר 18, 2018 בשעה 4:06 pm
אני עכשיו קורה שוב את השאלה המקורית כי שאלתי לעצמי – מה הוא רצה לעשות כאן? בגלל הרושם שקיבלתי שהביטוי הזה הוא בתנאים של דו"ח.אנח מודה שאני מעולם לא פיתחתי עבור מרקטגייט אבל שואל לעצמי גם זה: האם זאת הדרך לבדוק קלט ממשתמש? הרי ככל הנראה זאת הדרישה.
הייתי חושב שגם במרקטגייט ואלידציה של קלט נעשה בקוד בהפעלה כלשהיא ולא בביטוי או תנאי…
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
- יש להתחבר למערכת על מנת להגיב.