חישוב גיל

  • Post
    שיר
    משתתף
    היי חברים , אני צריכה לחשב לכל עובד את הגיל שלו.
    אני יודעת שקיימת פונקציה שיכולה להציג לי את מספר הימים מיום ההולדת עד היום , איך לא מצליחה להמיר את זה למספר..

    מצ"ב פונקצית חישוב מספר הימים –

    (0+(SQL.DATE - 01/01/1980)/24:00

    אבל אני רוצה להמיר את הערך שיוצא לגיל .
    לפי מה ששלחתי כאן, במידה ותאריך הלידה הוא – 1/1/1980
    התוצאה היא – 13372 ימים.
    אני רוצה להמיר את זה לשנים + מספר חודשים , במקרה הזה – 37.7

    אודה לעזרתכם

מוצגות 5 תגובות – 1 עד 5 (מתוך 5 סה״כ)
  • Replies
    123
    משתתף
    SELECT 0.0 + (SQL.DATE8 – 01/01/1980)/ 1440 / 365.0
    FROM DUMMY
    שיר
    משתתף
    היי , תודה רבה
    אבל החישוב לא יוצא מדוייק,
    יש סטיה של חודש אחד אחורה..

    יכול לבדוק לי למה ?

    123
    משתתף
    המספר המדוייק שיוצא הוא 37.621918

    אם את רוצה להציג אחרי הנקודה העשרונית את החודש את צריכה לעבור לבסיס 12 במקום בסיס עשרוני.
    במצב כזה תפרידי לשני שדות נפרדים. אחר שיחזיק שנים ואחד חודשים.

    שיר
    משתתף
    היי , שוב תודה.
    זה לא יוצא לי תקין.
    אני צריכה חישוב של הגיל בפורמט –
    מספר שנים ומספר חודשים ,
    לדוגמא : 22.5 , 35.10 , 21.1

    יש מישהו שיודע לעשות ככה ?

    yitzchok
    משתתף
    IL
    את בעצם צריכה לחזור על החישוב הזה פעמיים, פעם אחת עבור לפני הנקודה ופעם אחת עבור אחרי
    עבור השנים את צריכה מספר שלם
    נראה לי שאם תקחי את חישוב של ינאי ותורידי את ה-"נקודה 0" זה יעשה חישוב של שלמים בלבד.
    אם תקחי את החישוב הקודם ותורידי ממנו את החישוב הנ"ל תקבלי את השארית. אותה את צריכה להכפיל ב-12 ולהפוך לשלם.
    (אופציה אחרת: כפלי את שניהם ב-12, אז עשי פחיתה ועגלי. אולי אפשר להעזר בפונקציית modulo – סימן % אם אני זוכר נכון. איך שבא לך.)
    שני האלה להפוך למחרוזות (DTOA) ולשרשר (STRCAT) עם נקודה.
    כל זה אפשר בביטוי אחד (אם כי ארוך) ולכן כן מתאים כביטוי בדו"ח; לא צריכים לולאות.
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
מוצגות 5 תגובות – 1 עד 5 (מתוך 5 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.