המרת DATE14 ל-DATE8

פורומים אפיון ופיתוח פריוריטי המרת DATE14 ל-DATE8

  • Post
    רועי זלוף
    משתתף
    היי,

    מה הצורה הטובה והנכונה ביותר לבצע המרה של תאריך בגדול 14 (שכולל שעה), לתאריך בגודל 8, שכולל רק את התאריך עצמו.

     

    תודה מראש.

מוצגות 6 תגובות – 1 עד 6 (מתוך 6 סה״כ)
  • Replies
    yitzchok
    משתתף
    IL
    ראה תשובה כאן
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    רועי זלוף
    משתתף
    תודה רבה.
    PriorityDev
    משתתף
    IL
    תמיד הייתי עושה כך:
    SELECT ATOD(DTOA(SQL.DATE,'DD/MM/YY'),'DD/MM/YY') FROM DUMMY FORMAT;
    yitzchok
    משתתף
    IL
    בסדר, יעבוד, אבל הרבה פחות יעיל בזמן הרצה (אם כי בטח לא מורגש בכמויות קטנות) כי אתה מבקש להמיר למחרוזת וחזרה. ועוד, לפונקציה זאת יש overhead של עבודה לפי פורמט דינמי.

    תאריך הוא כבר מספר לכן החישוב שהצעתי זה מעט מאוד פעולות חשבון עבור מחשב וגם הוא עושה חשבון מאוד מהר.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    NoamN
    משתתף
    none
    אפשרות אחרת: SQL.DATE / 24:00) * 24:00)
    yitzchok
    משתתף
    IL
    אכן יתכן שיותר יעיל ממה שהצעתי

    סתם הערת שוליים לכלל הקןראים:

    בכל השיטות יש סיכוי שמתכנת לא מנוסה לא יבין מה זה עושה וזה הכי גדול בביטוי הזה. לא יהיה ברור לכל אחד שמדובר בחשבון של מספרים שלמים בו נופלים חלקים של מספר. יכול להיות שהייתי רושם הערה remove time part או משהו כזה כדי להדגיש שהדבר לא מיותר כפי שאולי נראה.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
מוצגות 6 תגובות – 1 עד 6 (מתוך 6 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.