› פורומים › אפיון ופיתוח פריוריטי › השוואת תאריכים
- This topic has 7 תגובות, 4 משתתפים, and was last updated לפני 2 שבועות, 3 ימים by
yitzchok.
- Post
-
- יוני 21, 2016 בשעה 4:13 pm
היי, איך אני יכולה להשוות בין תאריך של היום לתאריך חתימה אחרון?
תאריך חתימה אחרון UDATE הוא תאריך עם שעה ולכן לא ניתן להשוות עם תאריך בל היום.
לשם כך עשיתי (לא להתייחס למילה END):
DTOA(UDATE,'DDMMYY') = DTOA(SQL.DATE8,'DDMMYY')END
זה עובד אבל לוקח לו הרבה זמן.
האם יש נוסחא פשוטה יותר?
המטרה שלי היא לספור את כל החשבוניות שנסגרו היוםתודה
מוצגות 7 תגובות – 1 עד 7 (מתוך 7 סה״כ)
- Replies
-
- יוני 21, 2016 בשעה 4:37 pm
דרך הרבה יותר מהירה:
SQL.DATE8 = 0 + SQL.DATE – SQL.DATE MOD 24:00SQL.DATE8 = תאריך היום, אבל הוא בעצם מספר הדקות שעברו בין חצות 01/01/88 לבין חצות אתמול. כרגע ערכו המספרי 14974560.
ההבדל בין הערך המספרי של SQL.DATE ו-SQL.DATE8 שווה למספר הדקות מאז חצות אתמול. ניתן לחשב את הערך הזה באמצעות SQL.DATE MOD 24:00
כאשר מחסירים את המספר הנוכחי מהמספר בחצות, מקבלים למעשה את הערך המקבלים ל-SQL.DATE8- יוני 21, 2016 בשעה 9:12 pm
- יוני 22, 2016 בשעה 2:26 pm
בסוף עשיתי השוואה של יום ביום, חודש בחודש ושנה בשנה.
האם אתה חושב שירוץ יותר מהר עם הנוסחא שלך?- יוני 23, 2016 בשעה 9:45 am
הגרסה שלי תעבוד מהר כי יש שם רק שתי פעולות אריתמטיות: MODULO וחיסור.כל פעולה שקשורה למחרוזות תהיה איטית: הפיכת מספר לתאריך פעולה די מורכבת. אינני יודע איך YEAR ו-MONTH עובדים אך אני חושש שהם מבוססים על חילוץ ערכים מתוך המחרוזת אשר הוכך אותם לאיטיים עוד יותר.
יחד עם זאת, מהירות בפריוריטי אינה משהו שאנחנו יכולים לשלוט בו במיוחד. כל פקודה שכותבים בפרוצדורה מתורגמת ומופעלת ע"י תכנית אחרת, אשר מאיטה עוד יותר את העבודה.
- אפריל 23, 2025 בשעה 3:07 pm
שלום אני עושה מסך אני רוצה שיציג לי רק את התאריכים של היום
כתבתי בביטוי /תנאי =SQL.DATE (לעומת זה <SQL.DATE כן עובד לי )
דבר נוסף אם אני כותבת תנאי למטה לאח מיכן הוא לא נותן לי למחוק כותב לי " לא מעדכנים לרשומה ריקה "
מוצגות 7 תגובות – 1 עד 7 (מתוך 7 סה״כ)
- יש להתחבר למערכת על מנת להגיב.